通用路由的核心库,用于路由寻址、管理等
引用仓库可以参考 组件使用 中添加依赖的部分
implementation 'com.bihe0832.android:lib-router:+'
以登录举例,介绍路由新增的步骤:
-
确定路由模块名称,以及路由规则名称,为了方便管理,目前路由都定义在RouterConstants中
public static final String MODULE_NAME_LOGIN = "login"; public static final String INTENT_EXTRA_KEY_LOGIN_ITEM_PLATFORM = "platform";
备注:路由最终以intent唤起activity,所有路由参数的key都会统一强制转为小写(例如zixie://user?userID=1 在user对应的页面获取的时候extra在getString的时候使用的key为:userid)。因此在定义页面参数的时候,key一律为小写。
-
在注册路由的activity类声明前添加路由规则的注解,例如LoginActivity中的代码:
@Module(RouterConstants.MODULE_NAME_LOGIN) public class LoginActivity extends BaseActivity implements UserListener{
-
在注册路由的activity类的构建配置中增加注册路由表的相关构建依赖,例如在BaseProfile的build.gradle中的代码:
kapt "com.bihe0832.android:lib-router-compiler:+"
备注:Java的依赖和Kotlin依赖略有区别,Kotlin的依赖使用kapt关键字而不是annotationProcessor,具体可以参考APPProfile