组件化项目架构
Main App与Module通信、以及Module间相互通信都要通过Base Library,即通过这种第三方媒介的方式来实现解耦。
配置如下:
代码实现:
1、App部分
MainApp.java
LoginApp.java
解决上下文问题:MainApp启动,执行其onCreate(),init传参MainApp;LoginApp启动,执行其onCreate(),init传参LoginApp。
2、在Base Library中定义Module可被调用的方法接口
3、在Module中实现其在Base Library中提供出去的接口
4、Base Library提供一个单例类将各Module提供的接口汇集并开放出去
设置接口实现
使用接口
5、为了在Module被删等情况下,增强代码的健壮性,增加接口的空实现