Java泛型

概述泛型:参数化类型(将类型由原来的具体的类型参数化)。 特点: 适用于多种数据类型执行相同的代码。 使用泛型时,在实际使用之前类型就已经确定了,不需要强制类型转换。 泛型只在编译阶段有效。 泛型命名标识字母(常见字母): T Type K V Key Value E Element 简单使用泛型类12     阅读全文
CodePoem's avatar
CodePoem 9月 10, 2019

Android设备唯一性

如何标识唯一的Android设备呢? 硬件标识符IMEI 国际移动设备身份码(International Mobile Equipment Identity),是由15位数字组成的”电子串号”,它与每台手机一一对应,而且该码是全世界唯一的。 IMEI所需权限: 1<uses-permission android:name="android.permission.READ_PHONE_STATE"/>     阅读全文
CodePoem's avatar
CodePoem 8月 28, 2019

Android应用唯一性

说到应用唯一性,下面三个关键词,有何区别和联系呢? 包名 applicationId 签名 包名定义简介包名指的是软件包名称(代码命名空间)。就是我们平常写代码import的package。 配置示例123<manifest xmlns:android...     阅读全文
CodePoem's avatar
CodePoem 8月 27, 2019

Android存储目录

问:三个概念,你弄清楚了吗?内存:Memory内部存储:InternalStorage外部存储:ExternalStorage 答:说到这三个概念,就不得不说一下平时我们选购手机的参数6G+128G、8G+256G等,这里的6G和8G指的是手机内存(手机运行时存储),而128G和256G指的是手机存储空间(由内部存储的空间和外部存储的空间构成)。PS:所以如果追求手机的运行速度,内存买大一点。可以理解为手机内存是操场,而手机存储空间是教室,要想学生们跑得快自然操场得大一些,教室的大小只决定了可以容纳多少学生。 你了解Android手机的存储目录吗? 你知道Android手机App应用数据都存放在哪了吗? 你知道Android手机存储存在的隐私安全问题吗? 那么开始今天的故事。 虚拟世界Android存储目录的化身——A州M社区。 众所周知,A州是一座正在蓬勃发展的城市。M社区是A州引以为傲的设施完备的高档社区(各家...     阅读全文
CodePoem's avatar
CodePoem 5月 06, 2019

Android特有集合类浅析

ArrayMap ArraySet SparseArray SparseIntArray SparseBooleanArray SparseLongArray 设计这些Android特有的集合类的意义为什么要设计这些Android特有的集合类呢? 主要目的: 优化内存占用。在移动设备端内存资源很珍贵,Java原本的集合类为实现快速查询带来了很大内存的浪费。 ArrayMap设计目的代替HashMap<Object,Object>,且key唯一。     阅读全文
CodePoem's avatar
CodePoem 4月 21, 2019

浅谈二维码②与世浮沉

一、引言上次我们讲到二维码比条形码更优秀,可以承载更多信息等;也讲到了我们平常所说的二维码是QR Code,是狭义的二维码。后文所说的二维码除特殊说明外,也都指的是QR码。忘了的同学或者没看过上一篇的同学可以点这里。 这个界面想必大家都很熟悉,那么扫二维码的这一过程到底发生了什么呢,作为社交和移动支付“宠儿”的二维码是如何与世浮沉的呢,今天我们来了解一下。 二、二维码识别基本过程     阅读全文
CodePoem's avatar
CodePoem 2月 22, 2019

浅谈二维码①身世谜题

一、引言二维码在如今的生活中随处可见,移动支付、社交App等都可以见到二维码的身影。今天我们就来了解一下二维码。 二维码足迹 二维码足迹     阅读全文
CodePoem's avatar
CodePoem 2月 22, 2019

读《大话设计模式》之工厂方法模式

一、模式概述:定义一个用于创建对象的接口,让子类决定实例化哪一个类。工厂方法是一个类的实例化延迟到其子类。 UML图: 抽象工厂角色: 这是工厂方法模式的核心,它与应用程序无关。是具体工厂角色必须实现的接口或者必须继承的父类。在java中它由抽象类或者接口来实现。 具体工厂角色:它含有和具体业务逻辑有关的代码。由应用程序调用以创建对应的具体产品的对象。在java中它由具体的...     阅读全文
CodePoem's avatar
CodePoem 2月 11, 2017

(三)自定义View实践之自定义属性

一、定义与声明在资源文件夹values下新建attr.xml文件 12345678910111213     阅读全文
CodePoem's avatar
CodePoem 12月 11, 2016

(二)自定义VIew理论之View工作流程

一、简述  View的工作流程主要是指measure、layout、draw这三大流程,即测量、布局、绘制。measure确定View的测量宽高;layout确定View的最终宽高和四个顶点的位置;draw则将View绘制到屏幕上。 二、measure过程1. View的measure过程 由measure()方法来完成,measure()方法是final类型的方法,因此不能被重写。而measure方法会去调用onMeasure()方法,因此只需要看onMeasure()的实现即可。具体可以参看上一节相关内容。     阅读全文
CodePoem's avatar
CodePoem 12月 10, 2016