一、前言
这是一篇关于Android模块化的项目搭建和配置,没有看过我第一部分的同学如果不清楚整个流程的,可以回头看一下,有利于你更加快速的掌握和使用。
二、引入ARouter
模块化顾名思义就是将项目按模块的方式进行开发,加大了项目的解耦。继续(1)中的流程。
导入依赖,模块化的处理,这里使用的是阿里的ARouter进行搭建,所以先在我们的需要使用到模块化的模块中进行依赖:
implementation 'com.alibaba:arouter-api:1.5.0' annotationProcessor 'com.alibaba:arouter-compiler:1.2.2'
同时,在我们的新建的模块中也要进行依赖:
我这里注释掉了,这是因为我后面进行了统一管理依赖,这个先不用在意,直接先依赖就对了,后面我会再把如何统一管理依赖也讲一下的。
到这里的话,我们基本就已经把ARouter引进来了,接着就是使用他进行跳转测试模块之间的界面跳转
三、进行模块化配置
我们的需求是:在App模块建立一个Activity,提供一个点击事件跳转到其他模块的Activity界面
在app模块的Activity中使用Arouter,我们要先初始化ARouter,初始化建议放在Application,我这里简单提供一下:
最主要是在onCreate方法中添加一下以下代码,其中注意的是init方法的调用要在BuildConfig.DEBUG之后。
if (BuildConfig.DEBUG) {
ARouter.openLog();
ARouter.openDebug();
}
ARouter.init(this);//顺序不可以打乱
然后回到我们的Activity中,直接在我们的点击事件中调用
这里由于我的是在Kotlin中使用的,点击的方法简化了,大家根据自己的实际来写,内部的红框是传值的简单使用,第一次搭建的同学建议不要写,直接先测试跳转就好。
到这里,我们触发跳转的界面就好了,顺便提供一下Constant的常量,其实就是我们给目标Activity定义的路由地址
接着我们看一下目标Activity怎么配置:直接上图
标注1的地方就是我们给目标activity定义的路由地址
标注2和3的地方是用于传递参数接收值用的,在测试跳转模块环节可以先不用管,模块化基本就配置完成了,还有最后的一步,就是在我们新建的模块中去掉入口,也就是在AndroidManifest.xml文件中进行操作:
操作前的代码:
操作后的代码:
总结一下,就是将标注1和标注2的代码删除掉,此时运行就能显示模块1的界面,点击按钮就能跳转到模块二的界面啦。
四、后续
那么问题来了,我们在前面讲过的,将我们的模块化进行可配置处理,就是在开发阶段配置成一个可运行的module,合并打包的时候才将module配置成一个library进行使用,但是我们刚才的操作将module的配置清单文件中的application的入口删除了,这就导致无法进行配置化处理。这里提供一个简单粗暴的方法,就是比较繁琐,我们可以将我们的配置清单文件里面的不需要的代码进行注释一下,切换的时候再放开,这是可以达到我们效果的操作,但是不是最理想的效果,不过不要着急,我将在带三部分讲解几个问题:
1、模块之间跳转传值
2、模块化动态配置
不了解的同学可以看后续的(3),我将持续更新。如果我的文章对你有帮助或者触动到你,可以动动你的手指或者鼠标给予我点赞+收藏。倘若对文章中有不懂的或者有异议的,也欢迎指出。我们下节再见。