code小生 一个专注大前端领域的技术平台公众号回复Android
加入安卓技术群
本文已首发微信公众号「code小生」,大家可以搜索关注,专注移动端技术分享。
本文说明
上篇文章 已分享了路由配置、跳转、原理、完整的效果演示gif以及源码,而且是多 module 项目演示的,算是路由 ARouter 的入门,还没配置使用的可以先去看看。
本文的内容主要涉及如下两个:
路由拦截器使用
module 独立运行
前者在我们开发中有这样一种应用场景,默认用户不登录可以浏览一部分页面,当点击部分页面的时候就需要先去登录,也就是跳转到登录页面,普通的做法是根据需求挨个去做点击事件,这就很麻烦,如果需要跳转登录的时候传递参数啥的,那就改动超级大了;而路由ARouter的拦截器功能就很好的解决了这个问题,还支持自定义拦截器,使用起来很灵活。
后者的使用场景适合项目大,多人开发的情景,这样可以各自负责一个模块,独立调试运行,利于项目管理以及代码的维护。这块在上一篇文章的前提下还需要额外配置,本文会讲。
module 独立运行
先来看看module独立运行,然后我们在各个模块做一个模拟的跳转页面需要验证登录的示例,这样比较清晰。
第一步:配置 gradle.properties
在gradle.properties
文件中添加如下代码
#是否需要单独运行某个模块 true:表示某个模块不作为依赖库使用
isSingleCircleModule=true
#isSingleCircleModule=false
isSingleHomeModule=true
#isSingleHomeModule=false
第二步:配置app下的build.gradle
在app下的build.gradle
文件配置
if (!isSingleCircleModule.toBoolean()) {
implementation project(path: ':circle')
}
if (!isSingleHomeModule.toBoolean()){
implementation project(path: ':home')
}
并注释掉原来的依赖
// implementation project(path: ':circle')
// implementation project(path: ':home')