Android ARouter:最简单&粗暴(使用与原理)讲解

本文介绍了Android ARouter的使用与原理,包括组件化开发背景、ARouter的功能、跳转流程分析、多种跳转方式(如带参、不带参、Uri跳转)以及拦截器和依赖注入的实现,旨在帮助开发者更好地理解和应用ARouter。
摘要由CSDN通过智能技术生成

1.前言

  • 组件化或者模块化开发模式,已逐渐成为热浪的形式,使用这些模式可以让我们程序更容易的扩展、更方便的维护
    更快捷的同步开发与更简单的单独调试,而ARouter的出现就是让组件间、模块间是实现完全的独立。
  • ARouter是:阿里巴巴自研路由框架,主要解决组件间、模块间的 界面跳转 问题。
  • 今天用最简单的方式讲解Arouter的使用与原理。
  • 文章中实例 linhaojian的Github

2.目录

arouter目录.png


3.简介

arouter简介.png


4.原理

4.1 关系分析
  • 从A界面跳转到B界面这个过程,我们看看arouter与界面间关系,如下图:
    在这里插入图片描述
  • 1.注册

B界面将类的信息,通过key-value的形式,注册到arouter中。

  • 2.查询

A界面将类信息与额外信息(传输参数、跳转动画等),通过key传递至arouter中,并查询对应需要跳转类的信息。

  • 3.结合

将A界面类信息、参数与B界面的类信息进行封装结合。

  • 4.跳转

将结合后的信息,使用startActivity实现跳转。

4.2 流程分析
  • A界面跳转到B界面,arouter做了以下工作:
    arouter流程.png

从上图流程中,我们可以发现Arouter中原理:
1.通过apt技术利用注解编译时生成类,封装目标界面类的类信息。
2.在初始化时,把编译生成的类通过key-value的方式存储在arouter中。
3.发送操作者通过key获取到目标界面类的信息。
4.把发送操作者的信息与目标界面类信息进行结合或者关联在一起。
5.实现跳转功能。

  • 其实简单概括:将需要相互跳转的界面信息传递至arouter中存储关联 & 实现跳转。

5.使用

5.1 跳转界面不带参
  • 发送跳转操作
// 1. 普通跳转
ARouter.getInstance().build("/test/activity").navigation();
  • 目标界面
// 在支持路由的页面上添加注解(必选)
// 这里的路径需要注意的是至少需要有两级,/xx/xx
@Route(path = "/test/activity")
public class YourActivity extend Activity {
   
    ...
}
5.2 跳转界面带参
  • 发送跳转操作
ARouter.getInstance().build("/test/1")
   .withLong("key1", 666L)
   .withString("key3", "888")
   .withSerializable("key4", new Test("Jack", "Rose"))
   .navigation(
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值