例子
2、配置
1、在最外层的build.gradle中声名
apply plugin: 'com.alibaba.arouter'
buildscript {
dependencies {
...
// Arouter
classpath "com.alibaba:arouter-register:1.0.2"
}
}
2、在library模块中的build.gradle中写入一下代码
dependencies {
...
// Arouter
api 'com.alibaba:arouter-api:1.5.1'
}
3、在每个模块中的build.gradle中写入一下代码
plugins {
...
id 'kotlin-kapt'
}
kapt {
arguments {
arg("AROUTER_MODULE_NAME", project.getName())
}
}
android {
//可选,viewBinding才需要
buildFeatures {
viewBinding = true
}
}
dependencies {
...
kapt 'com.alibaba:arouter-compiler:1.5.1'
}
4、在Application的onCreate方法中配置
private fun initArouter() {
if (BuildConfig.APP_DEBUG) {
ARouter.openDebug()
ARouter.openLog()
}
ARouter.init(this)
}
到这里就配置完成了,怎么使用看github上ARouter的文档就可以了
3、使用
1、不带参数
ARouter.getInstance().build(Router.Login.LOGIN).navigation()
//目标位置头部
@Route(path = Router.Login.LOGIN)
class LoginActivity : AppCompatActivity()
2、带参数
ARouter.getInstance()
.build(Router.User.USER_INFO)
.withString("user", binding.edtUser.text.toString())
.withString("pwd", binding.edtPwd.text.toString())
.navigation()
// 目标函数接收数据
val bundle = intent.extras
binding.edtUser.text = bundle?.getString("user")
binding.edtPwd.text = bundle?.getString("pwd")