Android应用唯一性

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

Android存储目录

Android存储目录幻想曲 问:三个概念,你弄清楚了吗?内存:Memory内部存储:InternalStorage外部存储:ExternalStorage 答:说到这三个概念,就不得不说一下平时我们选购手机的参数6G+128G、8G+256G等,这里的6G和8G指的是手机内存(手机运行时存储),而128G和256G指的是手机存储空间(由内部存储的空间和外部存储的空间构成)。PS:所以如果追求手机的运行速度,内存买大一点。可以理解为手机内存是操场,而手机存储空间是教室,要想学生们跑得快自然操场得大一些,教室的大小只决定了可以容纳多少学生。 你了解Android手机的存储目录吗? 你知道Android手机App应用数据都存放在哪了吗? 你知道Android手机存储存在的隐私安全问题吗? 那么开始今天的故事。     阅读全文
CodePoem's avatar
CodePoem 5月 06, 2019

Android特有集合类浅析

Android特有集合类浅析 ArrayMap ArraySet SparseArray SparseIntArray SparseBooleanArray SparseLongArray 设计这些Android特有的集合类的意义为什么要设计这些Android特有的集合类呢? 主要目的: 优化内存占用。在移动设备端内存资源很珍贵,Java原本的集合类为实现快速查询带来了很大内存的浪费。 ArrayMap     阅读全文
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

(一)自定义View理论之View绘制原理

一、简述 自定义View是Android进阶之路不可避免的难关。此刻下定决心攻克这个难关,以此为证。在学习绘制自定义View之前先来思考一下系统是如何绘制出这些View的。 推荐《Android群英传》、《Android开发艺术探索》这两本书,本系列文中很多都来源于这两本的阐述。 二、View的测量 设想这么一个游戏:一个人蒙着眼睛,另一个人通过说话来指示蒙着眼睛的人去画他想画图案。比如你会指导他在画板左上角水平竖直都为10厘米处开始画一个边长为10厘米的正方形,那么他大致就能画准确。而如果你只告诉他画一个矩形,那么他就画不准确了。事实上,Android就是那个蒙着眼睛的人,我们需要细致地高速他怎么绘制。 生活中,画一个图形必须知道他的大小和位置。同样,Android系统在绘制View前也必须对View进行测量,即告诉系统该画一个多大的View,这个过程在onMeasure()方法中进行。  Android系统为我们...     阅读全文
CodePoem's avatar
CodePoem 12月 09, 2016

读《大话设计模式》之观察者模式

一、模式概述:定义了一种一对多的依赖关系,让多个观察者对象同时监听某一个主题对象。这个主题对象在状态发生变化时,会通知所有的观察者对象爱,使他们能够自动更新自己。 UML图: 二、模式优缺点:     阅读全文
CodePoem's avatar
CodePoem 11月 22, 2016