目录
一、ARouter的简介
二,集成
1、添加jitpack 仓库
2、依赖YmRouter库
单model项目
多model项目
三、使用和ARouter的小区别
3.1、和ARouter的区别
3.2、简单的初始化
3.3、简单使用
3.4 携带值跳转Activity
一、ARouter的简介
ARouter是一个用于Android的路由框架,它能够帮助开发者实现组件之间的通信和页面跳转。
ARouter的核心原理是通过注解来标记和生成路由映射表。开发者只需要在需要跳转的页面上添加注解,然后在代码中通过路由表找到对应的页面进行跳转。
ARouter提供了丰富的功能和灵活的配置,可以支持参数传递、拦截器、页面拦截、自动注入等功能。开发者可以根据自己的需求进行配置和使用。
除了页面跳转,ARouter还提供了一些扩展功能,例如服务发现、事件通知、模块化开发等,可以帮助开发者更好地组织和管理代码。
ARouter的优点是性能高效、配置灵活,可以帮助开发者简化代码、提高开发效率。同时,它也具有良好的兼容性,可以兼容大部分Android项目。
总的来说,ARouter是一款非常好用的Android路由框架,可以帮助开发者简化组件之间的通信和页面跳转,提高开发效率。
二,集成
1、添加jitpack 仓库
Android Gradle Plugin 为 v7.1.0 以下版本:进入项目根目录,打开 “build.gradle” 文件,在 “allprojects” 中加入如下代码:
...
allprojects {
repositories {
maven { url 'https://jitpack.io' }
mavenCentral()
google()
}
}
当您的 Android Gradle Plugin 为 v7.1.0 或以上版本:进入项目根目录,打开 “settings.gradle” 文件,在 “dependencyResolutionManagement” 中加入如下代码:
...
dependencyResolutionManagement { repositoriesMode.set(RepositoriesMode.FAIL_ON_PROJECT_REPOS)
repositories {
maven { url 'https://jitpack.io' }
mavenCentral()
google()
}
}
2、依赖YmRouter库
单model项目
纯Java项目
defaultConfig {
......
javaCompileOptions {
annotationProcessorOptions {
arguments = [YMROUTER_MODULE_NAME: project.getName()]
}
}
}
dependencies {
......
implementation 'com.gitee.ym521.ymrouter:ymrouter-api:1.0.6'
annotationProcessor 'com.gitee.ym521.ymrouter:ymrouter-compiler:1.0.6'
}
kotlin项目
plugins {
......
id "org.jetbrains.kotlin.kapt"
}
defaultConfig {
......
javaCompileOptions {
annotationProcessorOptions {
arguments = [YMROUTER_MODULE_NAME: project.getName()]
}
}
}
dependencies {
......
implementation 'com.gitee.ym521.ymrouter:ymrouter-api:1.0.6'
kapt 'com.gitee.ym521.ymrouter:ymrouter-compiler:1.0.6'
}
多model项目
以下以纯Java项目为例
公共模块(common)
dependencies {
......
api 'com.gitee.ym521.ymrouter:ymrouter-api:1.0.6'
}
其他业务模块(含有activity的)
defaultConfig {
......
javaCompileOptions {
annotationProcessorOptions {
arguments = [YMROUTER_MODULE_NAME: project.getName()]
}
}
}
dependencies {
......
annotationProcessor 'com.gitee.ym521.ymrouter:ymrouter-compiler:1.0.6'
}
注意:一定要记得添加
defaultConfig {
......
javaCompileOptions {
annotationProcessorOptions {
arguments = [YMROUTER_MODULE_NAME: project.getName()]
}
}
}
三、使用和ARouter的小区别
3.1、和ARouter的区别
1、注解由ARouter的@Router 改为@YmRouter
2、去除了SDK v4包的Fragment
3、去除了v4包更换AndroidX 包 版本为1.5.0
4、更新了其他原ARouter中的旧依赖
3.2、简单的初始化
public class MyApplication extends Application {
@Override
public void onCreate() {
super.onCreate();
YmRouter.init(this);
}
}
记得在AndroidManifest.xml 设置<pplicationd ... />的name属性。
其他设置可以参考ARouter
3.3、简单使用
@YmRoute(path = "/test/main")
public class MainActivity extends AppCompatActivity {
.....
}
YmRouter.getInstance()
.build("/test/main")
.navigation();
拦截器等其他使用可以参考ARouter
3.4 携带值跳转Activity
在自己的BaseActivity的onCreate()中 使用YmRouter.getInstance().inject(this) 不然无法注解Autowired无法生效
java
//携带的数据
@Autowired(name = "data")
String data;
kotlin
//携带的数据
@Autowired(name="data")
@JvmField
var data: String? = null
文章来源:https://www.toymoban.com/news/detail-784217.html
希望您给博主一些鼓励(点赞、关注、收藏),如果有BUG欢迎大家提出。 文章来源地址https://www.toymoban.com/news/detail-784217.html
到了这里,关于Android开发 基于ARouter开源的路由框架的YmRouter的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!