java 或 kotlin 中使用 阿里路由 Arouter

Java版本 (kotlin往下翻)

首先导入依赖
最新版本自己去官网看 github地址

//可以直接使用api放入基础模块中
api 'com.alibaba:arouter-api:1.5.0'
//需要注意 每个用到路由的模块都必须添加下面这句话!
annotationProcessor 'com.alibaba:arouter-compiler:1.2.2'

然后在module的build.gradle中加入

defaultConfig {
    ......
    ......
    
    javaCompileOptions {
        annotationProcessorOptions {
            arguments = [AROUTER_MODULE_NAME: project.getName()]
        }
    }

}

之后在appliction中进行初始化

//这里有个坑 如果开启了 InstantRun 那么必须要开启 ARouter.openDebug() 否则会一直报找不到路径  W/ARouter::: ARouter::There is no route match the path [/login/LoginActivityMain], in group [login][ ] 

if(isDeBug()){
   ARouter.openLog()
   ARouter.openDebug()
}
ARouter.init(this)

在需要跳转的 activity 或者 fragment 上添加注解 @Roter(path="/…/…)

	//这是路径 而且必须以 / 开头并最少两级,建议进行统一管理
Route(path = "/login/LoginActivityMain")
class LoginActivityMain: BaseActivity() {}

使用就很简单了

ARouter.getInstance().build("/login/LoginActivityMain").navigation()

也可以进行传值

ARouter.getInstance().build("/login/LoginActivityMain").withString("key","value").navigation()

在这里插入图片描述
可以使用传统的 getIntent.get…
也可以直接使用注解

 @Autowired
    String name;

使用注解需要添加

ARouter.getInstance().inject(this)

具体怎么使用还是去看大神的文章吧 > . <

kotlin

说下kotlin使用方法 , 与 java还是有点区别的

//arouter-api 不变与java相同
api'com.alibaba:arouter-api:1.5.0'
//这里是区别 kapt 
kapt 'com.alibaba:arouter-compiler:1.2.2'

在 Module 的 build.gradle中加入

apply plugin: 'kotlin-kapt'


defaultConfig {
  	.....
  	.....
  kapt {
    arguments {
        arg("AROUTER_MODULE_NAME", project.getName())
     	arg("AROUTER_GENERATE_DOC", "enable")
     }
  }
    
}

取值方法 不能用private修饰需要添加 @JvmField

    @Autowired(name = "boole")
    @JvmField
    var mBool: Boolean? = null

如果取值为空需要注意是添加了

ARouter.getInstance().inject(this@LoginActivityMain)

最后再提一嘴,因为我找了好半天这个错…

 如果开启了 InstantRun 那么必须要开启 ARouter.openDebug() 
 否则
 W/ARouter::: ARouter::There is no route match the path [/login/LoginActivityMain], in group [login][ ] 

ok 希望能够帮到你!
好运陌生人.

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值