android路由框架

1,什么是路由?

映射页面跳转关系,包含跳转相关的一切功能

简单描述:路由是一个框架,可以控制,转发对页面的跳转。并在转发前做相应的修改。


2,android原生已经提供startActivity,为什么还要使用路由框架呢?


1)使用startActivity()的缺点是需要打开的那个Activity的类已经存在,否则无法通过编译,但是在协同开发中,这往往是无法得到满足的。

2)我们的模块之间使用了各种AAR的依赖,那么你如果想从一个AAR中跳转到另外一个AAR,那么需要两者有依赖关系才能获取到XXX.class,否则你拿不到类,更不用说跳转了。

3)在一些复杂的业务场景下,灵活性比较强,很多功能都是动态配置的,比如下发一个活动页面,我们事先并不知道具体的目标页面,但如果事先做了约定,提前做好页面映射,便可以自由配置。

4)随着业务量的增长,客户端必然随之膨胀,开发人员的工作量越来越大,比如64K问题,比如协作开发问题。App一般都会走向组件化的道路,而组件化的前提就是解耦,那么我们首先要做的就是解耦页面之间的依赖关系。

5)模块跳转,组件化


3,常见的路由框架activityrouter(https://github.com/mzule/ActivityRouter),ARouter(https://github.com/alibaba/ARouter)他们都注重动态跳转,统一转发。


ActivityRouter特点:基于apt技术,通过注解方式来实现URL打开Activity功能,并支持在WebView和外部浏览器使用,支持多级Activity跳转,支持Bundle、Uri参数注入并转换参数类型。

1)支持注解方式、手动方式注册Activity。

2)支持注入Bundle、Uri的参数并转换格式

3)支持多级跳转。

4)支持HTTP协议。

5)支持外部浏览器打开。

6)支持目标Activity的URL构造器访问。


主要核心知识点:

1)Android 中的 Intent 机制

2)Java 反射机制

3)Android 的编译时注解

4)APT 技术以及 Javapoet 技术

ActivityRouter原理:就是用一个 Map 来存储具体的路由、实体 Activity 之间的映射。然后在利用 Android 自身的 Intent 机制,来进行界面的跳转。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值