Android路由框架:ARouter的简单使用

android路由框架:ARouter的简单使用

前言

记录这是我的第一篇博客,内容主要是ARouter框架,参考原文探索Android路由框架-ARouter之基本使用(一)

添加依赖

1.添加依赖
导入的依赖,两个版本号最好是最新且一致的例如‘1.5.1’,如果不一致可能会出现点问题
①使用的是java时
Android路由框架:ARouter的简单使用
javaCompileOptions {
annotationProcessorOptions {
arguments = [moduleName :project.getName() ]
} }

implementation ‘com.alibaba:arouter-api:1.5.1’
kapt ‘com.alibaba:arouter-compiler:1.5.1’
②使用kotlin时
Android路由框架:ARouter的简单使用
kapt {
arguments {
arg(“AROUTER_MODULE_NAME”, project.getName())
}
}

implementation ‘com.alibaba:arouter-api:1.5.1’
kapt ‘com.alibaba:arouter-compiler:1.5.1’

初始化

官方文档推荐我们应该在application中初始化
Android路由框架:ARouter的简单使用
Android路由框架:ARouter的简单使用
最后在app结束时,调用onTerminate来结束释放掉ARouter。
然后在我们的清单文件中配置一下我们自己定义的MyApplication。这一步做好,前期的准备工作就完成了,接下来就可以开始基本的使用。
Android路由框架:ARouter的简单使用

开始使用

首先我们确定一个目标如下图,我们想从MainActivity跳转到SecondActivity。
Android路由框架:ARouter的简单使用
第一步我们应该确定MainActivity和SecondActivity的路径,如MainActivity的路径就应该是"/app/ui/MainActivity"(一定要是"/“开始,并且路径中最少包含两个”/",否则会吐司找不到对应的Activity)。这里我做了一个统一管理路径的封装。
Android路由框架:ARouter的简单使用
这里的const val类似于java中== public static final==
接下来我们需要在跳转或者被跳转的类上面用Rout进行路径的注解。
Android路由框架:ARouter的简单使用Android路由框架:ARouter的简单使用
接下来在按钮的监听事件中写入这行代码就可以实现基本的跳转功能了。
Android路由框架:ARouter的简单使用
ARouter.getInstance().build(需要跳转的路径).navigation()

带参数的页面跳转

接下来我们要实现MainActivity向SecondActivity带参数的跳转。这里我们定义了一个PersonBean,用来携带参数。
Android路由框架:ARouter的简单使用
(这里的@Parcelize注解是新版本kotlin自带的,可以实现数据的Parcelable。小伙伴用的是java的话,是有一个插件可以辅助实现Parcelable化,大家可以去下载。这篇博客没用过的可以去看一下很简单。AndroidStudio-Parcelable自动生成代码插件安装和使用
Android路由框架:ARouter的简单使用

Android路由框架:ARouter的简单使用
如果是需要传递参数,MainActivity和SecondActivity中一定要加上这行代码 ARouter.getInstance().inject(this),否则接受数据为空。
我们这里设置它的key为”san“,接受数据的时候需要,如果你不想传递bean,而是想传递string或者int型数据,还有其他的方法可以选择。
Android路由框架:ARouter的简单使用

Android路由框架:ARouter的简单使用
这里的@Autowired(name = “san”),对应我们在MainActivity里面设置的key
而如果你用的是kotlin并出现了下面这行报错,可以试着添加@JvmField这个注解来解决。
Execution failed for task ‘:app:kaptDebugKotlin’.
当我们从MainActivity跳转过来的时候,如果key正确的话,设置的personbean就会被赋值,后面就可以直接使用了。

添加跳转动画

Android路由框架:ARouter的简单使用
里面传入两个动画(R.anim.xx)即可。

上一篇:作为一个Android程序员你还不会JetPack?面试建议


下一篇:Android ------ ARouter实现项目组件化+插件化