之前一直对Activity的生命周期不是很清楚,感觉很模糊。前两天也看了下任玉刚书里对Activity生命周期的讲解,今天特意写了个程序验证了下Activity的生命周期内各个回调的执行情况,为了避免多段时日又忘了,干脆对这次的理解总结下,俗话说好记性不如烂笔头,没事的时候可以回过头来再看看。
我们先来看一张非常经典的Activity生命周期流程图:
之前一直对Activity的生命周期不是很清楚,感觉很模糊。前两天也看了下任玉刚书里对Activity生命周期的讲解,今天特意写了个程序验证了下Activity的生命周期内各个回调的执行情况,为了避免多段时日又忘了,干脆对这次的理解总结下,俗话说好记性不如烂笔头,没事的时候可以回过头来再看看。
我们先来看一张非常经典的Activity生命周期流程图:
TigerDB是一个简单的Android ORM
框架,它能让你一句话实现数据库的增删改查,同时支持实体对象的持久化和自动映射,同时你也不必关心表结构的变化,因为它会自动检测新增字段来更新你的表结构。
该库主要包括如下几个要点:
Android应用中退出应用程序通常有两种做法,一种是使用选择对话框询问用户是否退出应用程序,另外一种是快速点击返回按钮两次然后退出应用。其中第二种实现方式较为普遍,而且我个人认为这种方式用户体验性要好点。下面,我介绍两种常用的点击两次返回退出应用的实现方式。
最近项目中调用系统相机时遇到了这么个问题:红米手机无法执行onActivityResult回调,部分华为手机无法获取到照片数据,最后各种分析,各种网上搜索资料折腾了好久,最后终于把问题解决,当看到问题的最终原因时,我也是醉了,简直就是坑爹坑大发了。
最开始用红米手机调用系统相机的时,当我拍照完成点击那个勾勾始终无法返回到前面的界面上,也就是无法调用onActivityResult函数取到拍照的照片,在网上搜索了一圈,没找到解决办法,都说是红米的系统问题,无法解决,项目比较紧张,刚好客户的手机全部是统一型号的华为荣耀6Plus,这个问题丢着暂时没管了。
后来现场同事批量测试机器时,发现有3台手机可以拍照,但是在onActivityResult回调中获取到的照片数据为null,但是其他的同型号手机又没这个问题,这问题看着真是坑爹啊。
####乱码原因分析
一般我们使用的Windows系统外部文件默认都是GBK编码方式,Mac系统默认的好像是UTF-8(同事的电脑就是,不知道其他人的是不是),Linux的没验证过,这里我讨论的是Windows下打包的zip文件。
Java中自带的ZipEntry解压缩的编码方式是UTF-8,而且没有可以自定义编码方式的接口,所以当我们使用UTF-8编码去解压缩GBK编码的文件的时,解压缩出来的中文部分当然是乱码,所以Mac上打包的zip用Java的自带解压缩接口解压出来是没有问题的。
Android中的shape标签用于描述形状,可以在布局文件layout和选择器selector中使用,它有6个子标签,具体如下:
Update your browser to view this website correctly. Update my browser now