重新规划项目结构

无论什么APP,很多开发人员都喜欢把所有的代码、类放在一个项目里,更有甚者,无论是Acitivity还是Adapter都位于一个Package,或者将Adpager内置在Activity中。这就相当于房间里既有餐桌又有马桶,床上还放着酱油瓶。


现在我们来重新规划Andorid项目的目录结构,分以下两步走:
第一步,建立AndroidLib类库,将于业务逻辑无关的逻辑转移到AndroidLib,重构后的项目结构参看下图,其中AndroidDemo为主项目,保持了对AndroidLib的引用,如何设置类库、如何引用请自行百度


重新规划项目结构_第1张图片
项目依赖关系

AndroidLib至少应该包括五大部分,如下图所示:


重新规划项目结构_第2张图片
AndroidLib 项目结构

这几部分的说明如下:

  • activity包中存放与业务无关的activity基类,Activity基类分两层,如下图,AndroidLib下的基类baseActivity封装的是与业务逻辑无关的公用逻辑,主项目中的AppBaseActivity基类封装的是与业务相关的公用逻辑。
重新规划项目结构_第3张图片
基类的继承关系
  • fragment包中存放与业务无关的fragment基类
  • net包里面存放的是网络底层封装
  • cache包里面存放的是缓存数据和图片的相关处理
  • ui包里存放的是自定义控件
  • utils包中存放的是各种与业务无关的公共方法,比如对sharedPrefrence的封装。

第二步,将主项目中的类分门别类的进行划分,放置在各种包里,如下图所示


重新规划项目结构_第4张图片
AndroidDemo 目录结构

对上图的各个包介绍如下:

  • activity:按照模块继续拆分,将不同模块的activity划分到不同的包下
  • adapter:所有的适配器放在一起
  • entity:所有的实体都放在一起
  • db:SQLLite相关逻辑都放在一起
  • ui:将自定义控件都放在这个包下面
  • utils:将所有的公用方法都放在这里
  • interfaces:真正意义上的接口,命名以I作为开头
  • listener:基于Listener的接口,命名以On作为开头

这些划分主要为了以下两个目的:

  1. 每个文件只有一个单独的类,不要嵌套类,比如在Activity中嵌套Adapter、Entity
  2. 将Activity按照模块划分后,可以迅速定位具体的某个页面每个人都只负责自己的那个包,开发边界线很清晰

俗话说“打扫干净屋子再请客”,对于项目而言,划分好组织结构也是这个道理

你可能感兴趣的:(重新规划项目结构)