App框架设计与重构
来源:互联网 发布:长春网络专业人才市场 编辑:程序博客网 时间:2024/06/05 12:01
1.重新规划android项目结构
需要重新规划Android项目的目录结构,分两步走:
第一步:建立AndroidLib类库,将与业务无关的逻辑转移到AndroidLib类库中。
类库中至少包含五大部分:
1、activity 存放与业务无关的Activity基类
2、cache 存放缓存数据和图片的相关处理
3、net 存放网络底层的封装
4、ui 自定义控件
5、utils 存放各种与业务无关的共用方法
第二步:将主项目中的类分门别类地进行划分,放置在各种包中:
大体包含如下:
1、activity 按照模块继续拆分,将不同模块的Activity划分到不同的包下
2、adapter 将所有适配器都放在一起
3、entity 将所有的实体都放在一起,当实体有很多的情况下,可考虑将实体按照模块进行划分,实体中应该只有属性,没有业务逻辑的方法,如果需要,就将其移到engine这个包中的某个类下面
4、db Sqlite相关逻辑的封装
5、engine 将业务相关的类都放在一起
6、ui 将自定义的控件都放在这个包中
7、utils 将所有的公用方法都放在这个包中
8、interface 真正意义上的接口,命名以I最为开头
9、listener 基于Listener的接口,命名以On作为开头
2.为Activity定义新的生命周期
可在AndroidLib类库中的BaseActivity中,重写onCreate方法:public abstract class BaseActivity extends Activity {@overridepublic void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);initVariables();initViews(savedInstanceState);loadData();}// 初始化变量,包括Intent带的数据和Activity内的变量protected abstract void initVariables();// 加载layout布局文件,初始化控件protected abstract void initViews(Bundle savedInstanceState);// 加载数据,调用方法获取数据protected abstract void loadData();}然后让所有的Activity都继承自BaseActivity基类
3.统一事件编程模型
统一项目中的事件编程方式
4.实体化编程
1、在网络请求中使用实体,可使用GSON来实现2、在页面跳转中使用实体,页面跳转可携带的实体需要进行Serializable或Parcelable进行序列化,这里推荐使用Parcelable,相对于Serializable效率高一些
0 0
- App框架设计与重构
- 高效App框架设计与重构
- 自动化测试框架: 设计的重构
- 自动化测试框架: 设计的重构
- 自动化测试框架: 设计的重构
- 重构与设计解析
- 设计模式与重构
- APP的解构与重构
- APP 基本框架设计
- iOS开发——使用Navigation和TabBar构造App框架与界面栈的重构
- 一篇关于后台与APP前端网络框架设计
- 代码的重构与设计
- 敏捷开发、重构与设计模式
- 软件重构与设计模式
- 软件重构与设计模式
- 设计模式与重构汇总
- if-else重构与设计模式
- 几个定义: 重构 编程模式 复用 设计模式 框架
- Android弹幕功能实现,模仿斗鱼直播的弹幕效果
- Java基础知识-面向对象2
- 33. Search in Rotated Sorted Array
- jquery.extend用法----$.extend(boolean,dest,src1,src2,src3...)
- [解决方法]Eclipse连接mysql失败:Error1682:Native table 'performance_schma'.'session_variables'
- App框架设计与重构
- mysql表分区
- poj 3468 A Simple Problem with Integers
- Visual Studio-类库中添加已有文件夹的技巧
- IntelliJ IDEA Tomcat配置 详解
- mybatis generator eclipse插件的安装
- 娱乐视频直播为什么需要DASH
- 直方圖規定化
- 彻底理解android中的内部存储与外部存储