@Aroute路由大家都不陌生了;在组件化开发中,常用它作为组件之间的通信,如下配置:
@Aroute(path="account/login")
class LoginActivity : MyBaseActivity(){
.....
}
@Aroute(path="account/register")
class RegisterActivity : MyBaseActivity(){
.....
}
为了方便应用,我们通常会建立一个路由管理类,来统一路由的调用,每次添加一个@Aroute注解,都需要在RoutePath类中添加新的配置,如下:
public object RoutePath {
public val accountLogin: String = "/account/login"
public val accountRegister: String = "/account/register
}
虽然工作量不多;但是,也感觉不够智能,@Aroute的还没提供该功能,所以自定义了一个路由,可以根据路由配置,自动化生成统一管理器;对与懒人来说,如果每个组件模块都能自动化统一路由配置,岂不是更好,所以准备弃用@Aroute ,接着往下看:
创建一个新的组件:C-Compiler,为java-library库
各个组件添加对该库的依赖:
dependencies {
kapt project(path: ':C-Compiler')
.
.
.
.
}
自定义注解:
@Target(AnnotationTarget.CLASS)
annotation class MyRoute(
val path: String = ""
)
在该组件下创建如下compiler类:
package com.chenl

本文介绍了在Android组件化开发中,如何弃用@Aroute并实现自定义路由自动化统一配置。通过创建自定义注解@MyAroute和对应的编译器,可以在新增路由时自动创建管理类,简化组件间的通信和管理。
最低0.47元/天 解锁文章
706

被折叠的 条评论
为什么被折叠?



