重新规划项目结构

作者: looper1211 | 来源:发表于2016-05-31 23:00 被阅读127次

    无论什么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按照模块划分后,可以迅速定位具体的某个页面每个人都只负责自己的那个包,开发边界线很清晰

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

    相关文章

      网友评论

        本文标题:重新规划项目结构

        本文链接:https://www.haomeiwen.com/subject/ksqhdttx.html