组件化研究一(含完整配置步骤及完整代码)
组件化开发适合多人大团队协同作战。
首先我们要明确组件化要实现的效果是什么样的,如图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