本文已参与「新人创作礼」活动,一起开启掘金创作之路。
最近项目框架更换,需要学习kotlin,学一点记一点吧。
向主工程的build.gradle里边增加 plugins的配置内容
plugins {
id 'com.android.application'
id 'kotlin-android' // Kt Android 插件
}
id ‘com.android.application’ 这个是之前的项目的
‘kotlin-android’ 这个是由于支持kotlin的
后面的文章会介绍组件化框架开发,所以会涉及到阿里的ARouter路由框架的学习,类似项目中各library之间activity的跳转,因为是组件化,所以各library之间会有代码隔离,但各liabrary之间其实还需要相互调用,当使用了Arouter后,确实能解决此问题,但是因为代码隔离,所以相关联的代码就失去了自动跳转的联系,对于阅读代码和操作代码带来很大的不便;
虽然有个ArouterHelper插件,但是只针对java代码有效,在Kotlin代码中是无效的,所以本文介绍一个针对kotlin代码依然有效的插件;
如何安装
Android Studio -> file -> settings -> plugin -> 搜索 Arouter
简单介绍
- 使用 -> 箭头作为跳转到:Activity fragment 接口实现类
- 使用 <- 箭头作为反向跳转,反向跳转做了1跳多处理
ARouter.getInstance().build("/xx/xxx").navigation(context) 和 @Route(path = “/xx/xxx”) 之间的导航
- 使用 “/xx/xxx” 版本可以支持,如下图:
- 使用变量也可以支持
@Autowired注解有支持
一对多时候的支持,是都列出来自己选择点击跳转
导航器思路
1、捕捉当前文件下Arouter相关的点(这里叫它 src点):
@Route @Autowired ARouter.getInstance().build("/xx/xxx").navigation 2、用src点去做全工程匹配,匹配到其它的关联点(这里叫它 target点), 再把目标点位置 写入到点击跳转中就可以了
非常感谢-大于弱智大佬的分享。 大家可取大佬博客下看代码的详细实现原理; 参考文献# Arouter helper kotlin(支持kotlin的 Arouter的导航插件 )