android模块化

1. 总体结构
    1. 由于模块之间不能互相依赖引用,所以模块之间的依赖关系图要提前定好
    2. APP => ((产品模块 => 产品模块接口),(会员模块 => 会员模块接口), ...) => 基础模块
    3. APP是个空壳,*各模块* 生成自己的 *模块接口* , *各模块* 可以调用任何 *模块接口* , *各模块接口* 只能调用 *基础模块* 
    3. 实际上为了简便,产品模块接口 => 会员模块接口
    4. 使用了arouter加载页面Activity或fragment
    5. 自动加载接口实现使用了arouter框架,接口基于arouter IProvider类扩展
        1. 部分自动加载接口实现失败, 使用了name则加载成功,如$helloService4 = (HelloService) ARouter.getInstance().build("/yourservicegroupname/hello").navigation();$
2. 资源冲突问题通过设置*resourcePrefix "module_product_"* 来解决
3. 在项目的build.gradle中要定义好第三方模块的版本号,在项目的gradle.properties中定义好模块是单独运行还是作为library处理
    1. 各模块独立运行时,添加src/main/debug/AndroidManifest.xml文件以及src/main/java/debug 作为运行时的默认参数
4. APP 模块中有Application类,各个模块也有自己的Application类(包含init(Application app)函数),在App Application.onCreate函数中要依次调用各模块的Application.init(this)方法
5. viewmodel放在当前模块的接口层,repository实现放在当前模块层,repository接口放在各模块接口层
6. 基础模块一定要定义好BaseFragment 方便各模块之间通过arouter互相调用对方的fragment ,也要定义好BaseActivity


 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值