重新规划项目结构

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


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


项目依赖关系

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


AndroidLib 项目结构

这几部分的说明如下:

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

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


AndroidDemo 目录结构

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

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

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

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

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

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容