一、先导入ARoute,这里分为两种情况,java和kotlin
在module(或library)中的build.gradle添加如下代码
- java配置
android {
defaultConfig {
//java路由配置
javaCompileOptions {
annotationProcessorOptions {
arguments = [AROUTER_MODULE_NAME: project.getName()]
}
}
}
}
dependencies{
//java路由导入
implementation 'com.alibaba:arouter-api:1.5.2'
annotationProcessor 'com.alibaba:arouter-compiler:1.5.2'
}
- kotlin配置
android { ....省略... defaultConfig { //kotlin 路由配置 kapt { arguments { arg("AROUTER_MODULE_NAME", project.getName()) } } ....省略... } } dependencies{ //kotlin路由导入 implementation 'com.alibaba:arouter-api:1.5.2' kapt 'com.alibaba:arouter-compiler:1.5.2' }
注意:在用到此框架的library库或者module中,都需要添加配置
二、初始化
官方文档推荐在Application中初始化
class MyApplication: Application() { override fun onCreate() { super.onCreate() if (BuildConfig.DEBUG) { // 这两行必须写在init之前,否则这些配置在init过程中将无效 ARouter.openLog(); // 打印日志 ARouter.openDebug(); // 开启调试模式(如果在InstantRun模式下运行,必须开启调试模式!线上版本需要关闭,否则有安全风险) } ARouter.init(this); // 尽可能早,推荐在Application中初始化 } }
三、具体使用
1.在activity上添加如下注解
@Route(path = "/app/MainActivity")
,"/app/MainActivity"是自定义的路劲,注意的是此路劲至少需要有两级/xxx/xxx,@Route(path = "/app/MainActivity") class MainActivity : AppCompatActivity() { override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) setContentView(R.layout.activity_main) } }
2.跳转到上述页面方法
// 1. 应用内简单的跳转(通过URL跳转在'进阶用法'中)
ARouter.getInstance().build("/app/MainActivity").navigation();
// 2. 跳转并携带参数
ARouter.getInstance().build("/app/MainActivity")
.withLong("key1", 666L)
.withString("key3", "888")
.withObject("key4", new Test("Jack", "Rose"))
.navigation();
3.注意:取值与平时一样用intent就行,另外还有些高级用法,可以去ARoute官网,这里就不一 一介绍了文章来源:https://www.toymoban.com/news/detail-412234.html
四、遇到的一些坑
1、不能在kotlin module中添加ARoute的java引入和配置,同理反过来java module中添加ARoute的kotlin引入和配置也不行,虽然运行不会报错,但是会提示找不到路劲
2、如过还是遇到找不到路劲问题,可以参考上面代码,是否有漏写文章来源地址https://www.toymoban.com/news/detail-412234.html
到了这里,关于Android路由ARoute使用的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!