组件化研究一(含完整配置步骤及完整代码)

组件化开发适合多人大团队协同作战。

首先我们要明确组件化要实现的效果是什么样的,如图1,MainApp作为一个单独的app,要通过Base Library,与ModuleA、ModuleB等通讯,

ModuleA 、ModuleB既能够单独运行,又能被Main App依赖。

《组件化研究一(含完整配置步骤及完整代码)》 图1

第一步创建module:因为单独的Module可以独立运行,所以一定选如图3所示的这个来创建

《组件化研究一(含完整配置步骤及完整代码)》 图2

《组件化研究一(含完整配置步骤及完整代码)》 图3

《组件化研究一(含完整配置步骤及完整代码)》 图4
《组件化研究一(含完整配置步骤及完整代码)》 图5

第二步下面再创建Base library:

《组件化研究一(含完整配置步骤及完整代码)》 图6

第三步将Module和Library中build.gradle 中的关于sdk的统一配置一下:

《组件化研究一(含完整配置步骤及完整代码)》 图7

第四步,动态的决定那个module是个application还是library,其中loginRunAlone是在gradle.properties里配置的。BaseLibrary不用配置了,因为他确定了就是一个library

《组件化研究一(含完整配置步骤及完整代码)》 图8

因为是application的时候才会有applicationId,所以对applicationId也会有同样的判断

《组件化研究一(含完整配置步骤及完整代码)》 图9

第五步配置module的依赖与引用

《组件化研究一(含完整配置步骤及完整代码)》 图10

添加主app依赖后,会报错

《组件化研究一(含完整配置步骤及完整代码)》 图11

是因为,我们添加了依赖,会在build.gradle中自动添加

《组件化研究一(含完整配置步骤及完整代码)》 图12

当module1是个apk的时候,是不能添加引用的,所以添加如下判断

《组件化研究一(含完整配置步骤及完整代码)》 图13

第六补 配置manifest(因为当module运行时候,与是library时候里面不一样)

《组件化研究一(含完整配置步骤及完整代码)》 图14

《组件化研究一(含完整配置步骤及完整代码)》 图15

第七步、图16是我所写的demo的实现:在MainApp中,点击“跳转到组件A”展示module1中某个activity;点击“跳转到组件B”展示module2中某个activity,点击第三个按钮,将module1中的页面展示出来

《组件化研究一(含完整配置步骤及完整代码)》 图16

图17中是demo的结构

《组件化研究一(含完整配置步骤及完整代码)》 图17

其中图18中的moduleA与moduleB的true或是false,控制着组件模式与集成模式的切换

《组件化研究一(含完整配置步骤及完整代码)》 图18

完整demo见本人github地址:https://github.com/wintersweett/App

    原文作者:紫苑草
    原文地址: https://www.jianshu.com/p/8565f540b907
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞