Android路由ARoute使用

这篇具有很好参考价值的文章主要介绍了Android路由ARoute使用。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

一、先导入ARoute,这里分为两种情况,java和kotlin

在module(或library)中的build.gradle添加如下代码

  • java配置
android {

  defaultConfig {
    //java路由配置
    javaCompileOptions {
            annotationProcessorOptions {
                arguments = [AROUTER_MODULE_NAME: project.getName()]
            }
     }
  }

}
dependencies{
    //java路由导入
    implementation 'com.alibaba:arouter-api:1.5.2'
    annotationProcessor 'com.alibaba:arouter-compiler:1.5.2'
}

 

  • kotlin配置
    android {
      ....省略...
    
      defaultConfig {
    
        //kotlin 路由配置
            kapt {
                arguments {
                    arg("AROUTER_MODULE_NAME", project.getName())
                }
            }
         ....省略...
      }
    
    }
    dependencies{
        //kotlin路由导入
        implementation 'com.alibaba:arouter-api:1.5.2'
        kapt 'com.alibaba:arouter-compiler:1.5.2'
    }

    注意:在用到此框架的library库或者module中,都需要添加配置

    二、初始化

    官方文档推荐在Application中初始化

    class MyApplication: Application() {
    
        override fun onCreate() {
            super.onCreate()
    
            if (BuildConfig.DEBUG) {    // 这两行必须写在init之前,否则这些配置在init过程中将无效
                ARouter.openLog();     // 打印日志
                ARouter.openDebug();   // 开启调试模式(如果在InstantRun模式下运行,必须开启调试模式!线上版本需要关闭,否则有安全风险)
            }
           ARouter.init(this); // 尽可能早,推荐在Application中初始化
        }
    
    }

    三、具体使用

    1.在activity上添加如下注解@Route(path = "/app/MainActivity"),"/app/MainActivity"是自定义的路劲,注意的是此路劲至少需要有两级/xxx/xxx,

    @Route(path = "/app/MainActivity")
    class MainActivity : AppCompatActivity() {
        override fun onCreate(savedInstanceState: Bundle?) {
            super.onCreate(savedInstanceState)
            setContentView(R.layout.activity_main)
        }
    }

2.跳转到上述页面方法

// 1. 应用内简单的跳转(通过URL跳转在'进阶用法'中)
ARouter.getInstance().build("/app/MainActivity").navigation();

// 2. 跳转并携带参数
ARouter.getInstance().build("/app/MainActivity")
            .withLong("key1", 666L)
            .withString("key3", "888")
            .withObject("key4", new Test("Jack", "Rose"))
            .navigation();

 

3.注意:取值与平时一样用intent就行,另外还有些高级用法,可以去ARoute官网,这里就不一 一介绍了

四、遇到的一些坑

1、不能在kotlin module中添加ARoute的java引入和配置,同理反过来java module中添加ARoute的kotlin引入和配置也不行,虽然运行不会报错,但是会提示找不到路劲
2、如过还是遇到找不到路劲问题,可以参考上面代码,是否有漏写文章来源地址https://www.toymoban.com/news/detail-412234.html

到了这里,关于Android路由ARoute使用的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包赞助服务器费用

相关文章

  • android ui 组件最常用的都在这里,经典中的经典

    android ui 组件最常用的都在这里,经典中的经典

    在Android中常见的组件有TextView(文本视图组件)、EditText(文本编辑)、Button(按钮)、ImageView(图像视图组件)等等。 TextView是Android中最简单的一个控件,在新建Android项目的过程中HelloWorld的文本信息也就是由它显示 。TextView是大部分常见组件对象的父类,通过自定义TextView也可以完成

    2024年02月03日
    浏览(25)
  • Android Studio 控制台中文乱码,解决方案都在这里了,完美解决

    Android Studio 控制台中文乱码,解决方案都在这里了,完美解决

    Android Studio 如果不进行配置的话,运行程序时控制台中文乱码问题会非常严重,甚至影响我们对信息的获取和程序的跟踪。 通过历年的开发经验,在本文中我总结出四点用于解决控制台中文乱码问题的方法,希望有助于大家。 注意 :下面根据我日常工作的经验总结,排序的

    2023年04月08日
    浏览(9)
  • Android导入其它项目慢,Gradel下载失败,另辟蹊径:使用离线gradle加载,附镜像方式

    Android导入其它项目慢,Gradel下载失败,另辟蹊径:使用离线gradle加载,附镜像方式

    最近在开发中需要测试以前写的小项目。结果忘了换本地的gradle,提示下载失败。换了现在用的gradle,项目能跑了。虽然网上有很多很多教程了,但对我的情况也不是都适用。所以自己记录一下。本人水平有限,有不对的地方请帮我指正,万分感谢。 如果您很着急,请直接看

    2024年02月03日
    浏览(10)
  • Android组件化架构开发--为什么要使用组件化?组件分层?组件路由的简单实现。

    Android组件化架构开发--为什么要使用组件化?组件分层?组件路由的简单实现。

    1.1 单工程项目结构 一般我们都是一个业务建一个包 缺点: 各种业务代码混杂在同一个模块里,开发人员在开发、调测过程的效率越来越低,定位某个业务问题,需要在多个业务代码混合的模块中寻找和跳转。 需要了解各个业务的功能,避免代码的改动影响其它业务的功能

    2024年02月10日
    浏览(12)
  • 【Jetpack】使用 Room 框架访问 Android 平台 SQLite 数据库 ( 导入依赖 | 定义 Entity 实体类 | 定义 Dao 数据库访问对象接口 | 定义数据库实例类 )

    对于 Room 框架 来说 , 使用 Java 语言 开发和使用 Kotlin 语言 开发 , 需要在 build.gradle 构建脚本 中进行不同的配置 , 主要有以下两个配置不同 : 应用的插件不同 ; 导入依赖库方式不同 ; 应用插件 应用的插件区别 : 如果使用 Java 语言开发 , 只需要导入 android 插件 ; 如果使用 Kotli

    2024年02月05日
    浏览(11)
  • Vue3+vite路由配置优化(自动化导入)

    Vue3+vite路由配置优化(自动化导入)

    今天在维护优化公司中台项目时,发现路由的文件配置非常多非常乱,只要只中大型项目,都会进入很多的路由页面,规范一点的公司还会吧路由进行模块化导入,但是依然存在很多文件夹的和手动导入的问题。 于是我想到了我之前使用vuex时进行的模块化自动导入js文件,能

    2024年02月08日
    浏览(10)
  • [Android Studio] 导入安卓Android项目教程

    [Android Studio] 导入安卓Android项目教程

    A项目指:要导入的项目;B项目指自己电脑上可以运行的项目 根据步骤一步一步来,别急。 将要导入的项目(简称为A)根目录下的这些文件删掉:.gradle、.idea 、.iml后缀的文件、 local.properties 进入app文件夹,将这些文件删掉:build、.iml后缀的文件 打开一个你在自己电脑上可

    2024年02月04日
    浏览(9)
  • Android studio导入Android源码(AOSP Android 14)

    1. 完整编译AOSP源码 有些java文件是在编译过程中动态生成的,需要完整编译一遍,源码的依赖才能完整。 2. 生成IDE导入的工程文件 执行完成后,在AOSP根目录下生成文件: 3. 导入前,编辑工程文件 (这步很重要,影响代码的加载速度和跳转) 编辑android.iml文件,需要修改2部

    2024年02月10日
    浏览(17)
  • 自适应插件autofit.js使用(这里演示vue项目)

    这个插件使用以后,页面会根据浏览器的缩放自适应的改变宽高 这里演示的是vue3项目,其他项目也可类似去写 如果要在整个项目做自适应,将配置配到App.vue,如果只要单个页面自适应,只需要配置当前页面即可 App.vue配置如下(单个页面自适应也是如此配置) 以下代码三步走

    2024年02月04日
    浏览(17)
  • AndroidStudio导入Android源码

    导入工具阅读源码这里是依靠了Android源码自带的idegen神器,development/tools/idegen/目录下有个README文件 在导入源码之前,记得一定要正确的通过全部源码的编译。 1)、切换到Android源码的目录,导入环境变量  2)选择要生成的版本,lunch 3)编译idegen,生成idegen.jar 在这一步如果

    2024年02月12日
    浏览(6)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包