android arouter原理和作用,ARouter基础使用(一)

一个用于帮助 Android App 进行组件化改造的框架 —— 支持模块间的路由、通信、解耦

1.新建一个Android项目 "ARouterDemo"

2.添加依赖和配置

android {

defaultConfig {

...

javaCompileOptions {

annotationProcessorOptions {

arguments = [AROUTER_MODULE_NAME: project.getName()]

}

}

}

}

dependencies {

// 替换成最新版本, 需要注意的是api

// 要与compiler匹配使用,均使用最新版可以保证兼容

compile 'com.alibaba:arouter-api:x.x.x'

annotationProcessor 'com.alibaba:arouter-compiler:x.x.x'

...

}

// 旧版本gradle插件(< 2.2),可以使用apt插件,配置方法见文末'其他#4'

// Kotlin配置参考文末'其他#5'

3.添加注解

// 在支持路由的页面上添加注解(必选)

// 这里的路径需要注意的是至少需要有两级,/xx/xx

@Route(path = "/test/activity")

public class YourActivity extend Activity {

...

}

4.在Application 中初始化sdk

if (isDebug()) { //这两行必须写在init之前,否则这些配置在init过程中将无效

ARouter.openLog(); //打印日志

ARouter.openDebug(); //开启调试模式(如果在InstantRun模式下运行,必须开启调试模式!线上版本需要关闭,否则有安全风险)

}

ARouter.init(mApplication);//尽可能早,推荐在Application中初始化

5.发起路由操作

// 1. 应用内简单的跳转(通过URL跳转在'进阶用法'中)

ARouter.getInstance().build("/test/activity").navigation();

// 2. 跳转并携带参数

ARouter.getInstance().build("/test/1")

.withLong("key1", 666L)

.withString("key3", "888")

.withObject("key4", new Test("Jack", "Rose"))

.navigation();

6.如果发起startActivityForResult() 传入context和requestCode

e855d41f9f8d85442ccdf4d632cbce03.png

执行setResult(12)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值