组件化代码层级结构
1:底层:项目中依赖的三方SDK,比如友盟,高德,Bugly,网络框架,注意:这里只是依赖,不要放三方SDK相关的工具类
2:工具层:项目中用到的工具类(包含三方SDK的工具类,网络框架的封装等),自定义控件,JavaBean、公共资源文件(assets、切图、drawable背景、style、color),baseactivity,basefragment、baseadapter、baseapplication、页面跳转的路由地址、数据库等业务层需要依赖的公共资源。Activity和fragment的layout布局不建议复用,全局类的adaptr列表的条目布局可以全局复用
3:业务层:项目的各个具体的业务功能模块,每个业务模块在build.gradle中进行resourcePrefix配置来规定文件命名的开头前缀,防止与其他模块冲突,主APP模块是个空壳,用来调用其他模块以及进行一些初始化工作,每个业务模块都可以单独运行,这是组件化与模块化的主要区别
代码拆分注意点
1:统一baseactivity、basefragment、baseadapter等基础类
2:删除重复工具类,比如log,toast等
3:统一数据库
4:统一资源文件的命名方式,防止重复创建,设计需要统一APP整体风格,而不是随意使用主色和圆角等
5:APIStore类放在每个业务模块中,不要集中存放,防止同时修改造成冲突
6:Activity迁移时,注意清单文件中的声明要跟原来保持一致
7:每迁移一个Activity,就要全局修改Activity的入口,注意使用全路径打开Activity的情况
8:迁移JavaBean、工具类之类的文件时,可以使用剪切+粘贴的方式,这样引用可以自动转换
9:接口返回数据解析成JavaBean的时候,要加try/catch,防止崩溃
10:统一接口返回的数据格式,比如用status表示接口成功还是失败就一直用status,不能有时候是,有时候不是
未完待续...
网友评论