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

前言

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

添加依赖

1.添加依赖
导入的依赖,两个版本号最好是最新且一致的例如‘1.5.1’,如果不一致可能会出现点问题
①使用的是java时
在这里插入图片描述
javaCompileOptions {
annotationProcessorOptions {
arguments = [moduleName :project.getName() ]
} }

implementation ‘com.alibaba:arouter-api:1.5.1’
kapt ‘com.alibaba:arouter-compiler:1.5.1’
②使用kotlin时
在这里插入图片描述
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中初始化
在这里插入图片描述
在这里插入图片描述
最后在app结束时,调用onTerminate来结束释放掉ARouter。
然后在我们的清单文件中配置一下我们自己定义的MyApplication。这一步做好,前期的准备工作就完成了,接下来就可以开始基本的使用。
在这里插入图片描述

开始使用

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

带参数的页面跳转

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

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

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

扫描二维码关注公众号,回复: 14813750 查看本文章

添加跳转动画

在这里插入图片描述
里面传入两个动画(R.anim.xx)即可。

猜你喜欢

转载自blog.csdn.net/XL1583135614/article/details/114276771
今日推荐