Android组件化

组件化代码层级结构

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,不能有时候是,有时候不是

大型项目开发注意点
1:统一项目主色调,所有颜色统一命名并放到基础库中
2:统一项目圆角矩形的自定义背景,按照颜色+圆角值命名,放到基础库中
3:统一项目提示框的样式,放到基础库中
4:所有网络接口的API放到基础库中,各个moudle中不允许私自创建API,全部调用基础库中的
5:统一网络接口的调用方式,不允许自行创建特立独行的方式
6:统一数据库,不允许私自引用其他数据库,所有数据库存储操作都放到基础库中进行
7:各个组件必须规定命名前缀

你可能感兴趣的:(Android组件化)