美文网首页
Android组件化

Android组件化

作者: Just____ | 来源:发表于2021-04-15 17:52 被阅读0次

一、什么是组件化

二、组件化的实现

三、组件化需要注意的问题

1. 模式切换

如何在app与lib之间切换,同时支持单体调试和整体打包两种模式,
一般采取自定义变量控制,分别控制apply pluginmainfest.scrfile,如下图:

if (isModuleRun.toBoolean()) {
    apply plugin: 'com.android.application'
} else {
    apply plugin: 'com.android.library'
}

### 单Module运行需要配置
sourceSets {
        main {
            if (isModuleRun.toBoolean()) {
                manifest.srcFile 'src/main/debug/AndroidManifest.xml'
            } else {
                manifest.srcFile 'src/main/AndroidManifest.xml'
                java {
                    //全部Module一起编译的时候剔除debug目录
                    exclude '**/debug/**'
                }
            }
        }
    }

2. 资源冲突

约束为主、规范为辅
各module需要指定唯一命名前缀,避免出现重名冲突的情况。
module的 build.gradle 中通过 resourcePrefix “xxx_可以强行检查资源名称前缀
但该配置只能对xml资源起作用,无法检查图片资源

3. 组件通信

各module相互独立,组件之间如何跳转和通信?
跳转: 可以借助阿里开源的ARouter框架:阿里巴巴ARouter基本使用方法

通信:
组件间通信一般有两种方式:基于事件和基于接口协议
基于事件:EventBus、广播等
基于接口协议:在modules下层建立base Module,制定相应的通信协议,上层module分别负责实现和引用

相关文章

网友评论

      本文标题:Android组件化

      本文链接:https://www.haomeiwen.com/subject/fkcjlltx.html