1 activity 是每个功能页面的入口
2 动画效果需要配合资源文件中,动画的定义
3 文件的读取是有权限控制的
4 布局应该尽量简单,这样才能让程序跑的飞快
重新开始一个新的apk项目,之前的“公共自行车”没搞完又放弃了,希望这个项目不会继续无疾而终。把自己做这个项目的过程用博客记录下来,也算是对自己的一个督促。
1 先做一个基础demo
2 完善功能
3 重构
之前找了一个coolreader 的源码,感觉听靠谱的,今天先参考下。
对此源码有兴趣的童鞋,可以到网上搜索下,还挺好找的。地址我就不提供了。
1 关于builder
查看项目属性时候发现的,突然想起,android的编译器是挺好玩的,最近公司的项目在做个android 套壳的功能:绕过系统的检测,利用已经安装的apk调用没安装的apk。
原理说穿了,也听简单,就是利用java 的反射机制。但是遇到一个问题,被调用的apk,包名并不一致,一般开发android 的人都知道,开发的时候编译,如果R 文件不在对应的包名路径当中,是会报错的,那这个编译报错,其实就是android pre compiler 检查出来的。
另外开发的时候从workspace中导入存在的android 工程,是会报错的,这个也是android pre compiler 犯傻,好象是个bug,解决方法就是把workspace 定义到别的位置去。
2 关于intent
从文档看到,intent 是对动作的描述,用来启动activity,service,或单纯用来通信。而且还能在androidManifest 中利用intent-filter 进行处理。
从construct 看出,能传递action,context 和 对应的class,用于后续的startActivity 或者 bindService
3 关于androidManifest
这个文件相当重要,如果要调用activity,需要在此文件中注册,而且文件本身是加密过的,虽然解密方法已经到处都是。
重要内容:apkPackageName, apkVersionName, apkVersionCode(商店之流用于检测应用版本号)
4 关于io
android 的io 还是很方便的,利用File.listFiles() 就可以获取所有的文件。
而且HttpClient 还特地集成到android 中去,非常方便使用。
5 listAdapter
这个东西很好用,直接可以绑定需要List,可以方便做列表管理,和mfc 的dataAdapter 很类似,也有对应的文章管理内容
6 showDialog
showDialog(int),这个定义还是挺好用的,但是必须得明确,需要配合new AlertDialog.Builder(this).create();注意new Builder(this)的时候,context 传进去的应该是当前activity(extends from context),而不是this.getApplicationContext(),因为getApp….. 返回的是applicationContext,这个context 是全局唯一的,但是并不支持后续showDialog 的需求,说到这个,activityContext 则是当前activity 的context,因为activity 可以销毁,重建,所以context 应该也会被销毁,重建。
那么关于这个context 在何时使用,则要看调用的对象是长周期还是短周期,另外还要看对应的activity 的生命周期,否则会跑着跑着程序挂掉,甚至内存泄漏。
更多关于context 的详细介绍可以查看“http://blog.csdn.net/vincent_czz/article/details/8663871”
7 关于数据库操作 sqlite
sqlite 作为短小精悍的关系数据库,在android 还是受欢迎的,android 提供了SQLiteOpenHelper 做简单处理,可以协助创建数据库,更新,并把sql 处理写在此,感觉小项目就不用像ibatis 之流的到处写配置文件了。
8 关于客户端开发
客户端是个长时间周期进程,对内存和资源的管理必须严格,不需要的资源必须马上关闭
9 数据类型bunble
用于共享,在activity 间传递,还可以使用ApplicationContext 和Singleton 实现
蜘蛛图