栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

android模块化

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

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


 

 

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/683326.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号