Kotlin中多模块开发使用arouter

项目配置

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中已经配置 不需要了
   //apt注解框架的声明
    kapt 'com.alibaba:arouter-compiler:$arouter_compiler_version' //注意版本号
    ...
}

简单用法

在要访问的activity前面添加路径  这里我配置的是存放在一个固定的文件中 
@Route(path=RouterPath.userCenter.path_login)
class LoginActivity : BaseMvpActivity(), LoginView {

 //   override fun injectComponent() {
        //DaggerUserComponent.builder().activityComponent(activityComponent).uSerModule(USerModu//le()).build().inject(this)
   //     mPresenter.mView = this

  //  }

Kotlin中多模块开发使用arouter_第1张图片

在需要访问的地方

 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(),OrderView {
    @Autowired(name = ProviderConstant.KEY_ORDER_ID)
    @JvmField
    var mOrderId: Int = 0

//注意在application中进行初始化

Arouter.init(this)

上面的是一些简单的用法,自己的学习记录
详细介绍 github地址: https://github.com/alibaba/ARouter

你可能感兴趣的:(Android基础,kotlin)