3,程序框架如何设计
Android程序的结构
- UI层
- 数据展示与管理
- 用户交互
- 绘制
- Adapter
- 业务逻辑层
- 持久化数据(内存中,相当于全局数据)
- 数据加式(数据层的数据有时候需要进行加工成UI层需要的数据)
- 数据变化的通知机制
- 数据层
- 数据访问(DB,文件,网络等)
- 缓存(图片,文件等)
- 配置文件(shared perference)
下面,我试着画了一个Android程序的结构,如果有不好的地方,欢迎指正。
4,一些基本原则
下面列出一些通常的原则,我们应当在开发过程中遵循,欢迎补充与指正。
4.1 提供initialize()方法
在Activity.onCreate()或者View的构造方法中调用,在以后看代码时,人们通常首先会去找initialize()这样的方法。
4.2 封装点击事件
把View的点击事件,提成方法,这样在listener处只是一个方法调用者,一般的事件封装为:onXXXClick(View v)。
4.3 设计一个BaseActivity类
让所有的Activity都继承自BaseActivity类,这样,我们可以做很多有用的事情
- 定义共通属性
- 显示共通对话框(Progress dialog)
- 取得top activity
- 可以手动管理启动的activity
4.4 设计Application类
- 存全局数据,比top activity, application context。
4.5 异常处理
- 报告功能是处理异常的精髓
- 在finally块中执行清理操作
- 不要用try-catch-finally来判断业务逻辑
- 考虑设计自定义的异常类
4.6 标注的使用
- 重写的方法一定要加@Override
- 不使用的方法,不要删除,可以标记为@Deprecated,这个做法在维护型的项目中特别有用。
4.7 注册与反注册
- 局部广播
- 各种listener
- Service等
4.8 封装Bitmap操作
我们应当把Bitmap操作封装起来,比如从文件加载,保存,网络下载,动态计算sample size等。有了封装后,我们可以对其集中优化。
4.9 绘制处理
一定要注意绘制方面的东西,不要在onDraw()/onTouchEvent()中创建新对象。
From<http://blog.csdn.net/leehong2005/article/details/8535306>