Android项目结构搭建
在进行android开发时,我们要创建很多java类,所以有必要对这些java文件进行分类,尽量抽取一些共用的东西,例如,adapter、activity、fragment、数据库操作、base、通用的工具类、UI公共组件等等,这些东西应该表现在代码结构中,下面我们就来总结一下:
- activity 存放activity;
- adapter 适配器,如果业务复杂,根据不同的业务添加子包来进行分类;
- base 用来存放View的基类,例如BaseAcitivity、BaseFragment,甚至可以添加某些不同Actionbar主题的Base类;
- common 存放一些共用的配置类信息,常量等等;
- controller 控制器,将一部分的业务类需求放到里面,充当db和View交互的中间层,减少Activity中业务的复杂性;
- db 一些数据库类;
- event 观察者模式,事件通知;
- fragment 存放fragment;
- task 一些任务类;
- view 一些自定义组件;
- vo value object值对象。用于业务层之间的数据传递,对应各个填充组件的数据;
- AppContext 自定义Application类。
参照下图:
当然也不是所有项目都应该写成这样一个形式,应该对比项目要求自己进行划分,比如这样:
参照:
https://github.com/futurice/android-best-practices/blob/master/translations/Chinese/README.cn.md
http://www.zhihu.com/question/37433825/answer/73556099