Kotlin中多模块开发使用arouter

版权声明:本文为博主原创文章,未经博主允许不得转载。 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

猜你喜欢

转载自blog.csdn.net/YANGWEIQIAO/article/details/78964634
今日推荐