Android路由ARoute利用

程序员 2024-9-9 04:25:21 116 0 来自 中国
一、先导入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官网,这里就不一 一先容了
四、遇到的一些坑

1、不能在kotlin module中添加ARoute的java引入和设置,同理反过来java module中添加ARoute的kotlin引入和设置也不可,固然运行不会报错,但是会提示找不到路劲
2、如过照旧遇到找不到路劲问题,可以参考上面代码,是否有漏写
您需要登录后才可以回帖 登录 | 立即注册

Powered by CangBaoKu v1.0 小黑屋藏宝库It社区( 冀ICP备14008649号 )

GMT+8, 2024-11-27 11:26, Processed in 0.165321 second(s), 32 queries.© 2003-2025 cbk Team.

快速回复 返回顶部 返回列表