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<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
//注意在application中进行初始化
Arouter.init(this)
上面的是一些简单的用法,自己的学习记录 详细介绍 github地址:
上一篇:
IDEA上Java项目控制台中文乱码