版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/YANGWEIQIAO/article/details/78964634
项目配置
github地址 : https://github.com/alibaba/ARouter
//ARouter 在baseLib中引入包
compile "com.alibaba:arouter-api:$arouter_api_version"
在需要使用模块中
kapt {
arguments {
arg("moduleName", project.getName())
}
}
dependencies {
// compile 'com.alibaba:arouter-api:x.x.x' 在base中已经配置 不需要了
kapt 'com.alibaba:arouter-compiler:$arouter_compiler_version' //注意版本号
...
}
简单用法
在要访问的activity前面添加路径 这里我配置的是存放在一个固定的文件中
@Route(path=RouterPath.userCenter.path_login)
class LoginActivity : BaseMvpActivity<LoginPresenter>(), LoginView {
// override fun injectComponent() {
//DaggerUserComponent.builder().activityComponent(activityComponent).uSerModule(USerModu//le()).build().inject(this)
// mPresenter.mView = this
// }
在需要访问的地方
ARouter.getInstance().build(RouterPath.userCenter.path_login).navigation()
ARouter.getInstance().build(RouterPath.userCenter.path_login)//这个地方用withXXX()添加传递的参数 .navigation()
如果携带参数,在接受的地方这样处理
@Route(path = RouterPath.OrderCenter.PATH_ORDER_CONFIRM)
class OrderConfirmActivity : BaseMvpActivity<OrderPresenter>(),OrderView {
@Autowired(name = ProviderConstant.KEY_ORDER_ID)
@JvmField
var mOrderId: Int = 0
上面的是一些简单的用法,自己的学习记录
详细介绍 github地址: https://github.com/alibaba/ARouter