android模块化

android模块化,第1张

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


 

 

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/5683885.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-12-17
下一篇 2022-12-17

发表评论

登录后才能评论

评论列表(0条)

保存