将与业务无关的封装到类库中,可以重复使用
我的Module类库结构图:
- activity包中存放的是与业务无关的Activity基类。可以将基类BaseActivity封装到类库里,这里是与业务无关的公用逻辑,主项目中再建立一个AppBaseActivity基类,封装的是业务相关的公用逻辑,继承BaseActivity。
- net包存放的是网络底层封装
- cache包里存放的是缓存数据和图片的相关处理
- ui包中存放的是自定义控件
- utils包中存放的是各种与业务无关的公用方法,比如对SharedPreferences的封装。
我的app结构图:
- activity: 可以继续按照模块拆分
- adapter:所有适配器都放在这里
- db:SQLite相关逻辑的封装
- engine:将业务相关的类都封装在一起
- entity:将所有实体类都放在一起
- interfaces:接口都放在这里,以I开头
- listener:基于Listener的接口,命名以On开头
- ui:自定义控件
- utils:所有给你公用方法
划分的主要目的:
- 每个文件只有一个单独的类,不要有嵌套。
- 将Activity拆分模块后,可以迅速定位具体的某一个页面。
使用fastJSON和GSON对数据源获取进行处理:要比每次从JSONObject里通过key取值更方便(但是得根据实际的服务端反馈数据处理,有些数据就是那么一坨一坨,你也拿服务端人员没办法,只能硬着头皮自己敲key取值了)
来源:oschina
链接:https://my.oschina.net/u/218078/blog/613259