ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

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

2021-03-02 10:32:24  阅读:815  来源: 互联网

标签:1.5 SecondActivity MainActivity 添加 ARouter 跳转 Android 路由


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就会被赋值,后面就可以直接使用了。

添加跳转动画

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

标签:1.5,SecondActivity,MainActivity,添加,ARouter,跳转,Android,路由
来源: https://blog.csdn.net/XL1583135614/article/details/114276771

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有