Package com. therouter. TheRouter API 文档
Types
Created by ZhangTao on 17/8/1.
可以被挂起的导航器,通常用于延迟动作。 延迟跳转主要应用场景有两种: 第一种:初始化时期,如果路由表的量非常巨大时。这种情况在别的路由框架上要么会白屏一段时间,要么直接丢弃这次跳转。在TheRouter中,框架会暂存当前的跳转动作,在路由表初始化完成后立刻执行跳转。 第二种:从Android 8.0开始,Activity 不能在后台启动页面,这对于业务判断造成了很大的影响。由于可能会有前台 Service 的情况,不能单纯以 Activity 生命周期判断前后台。在TheRouter中,框架允许业务自定义前后台规则,如果为后台情况,可以将跳转动作暂存,当进入前台后再恢复跳转。
专门为路由服务,因为路由的path存在正则的情况
独立的一条路由记录
Functions
应用场景:用于修复客户端上路由 path 错误问题。 例如:相对路径转绝对路径,或由于服务端下发的链接无法固定https或http,但客户端代码写死了 https 的 path,就可以用这种方式统一。 注:必须在 TheRouter.build() 方法调用前添加处理器,否则处理器前的所有path不会被修改。
页面替换器 应用场景:需要将某些path指定为新链接的时候使用。 也可以用在修复链接的场景,但是与 path 修改器不同的是,修改器通常是为了解决通用性的问题,替换器只在页面跳转时才会生效,更多是用来解决特性问题。
向路由表添加路由
向路由表添加路由
路由替换器 应用场景:常用在未登录不能使用的页面上。例如访问用户钱包页面,在钱包页声明的时候,可以在路由表上声明本页面是需要登录的,在路由跳转过程中,如果落地页是需要登录的,则先替换路由到登录页,同时将原落地页信息作为参数传给登录页,登录流程处理完成后可以继续执行之前的路由操作。
在异步初始化路由表
自定义全局路由跳转结果回调
尝试通过Intent,从路由表中获取对应的路由Path 如果路由表中没有对应路由,则将类名作为路由Path新创建一条路由项
从assets 文件夹中获取文件并读取数据流
从assets 文件夹中获取文件并读取数据
在主线程初始化路由表
尝试通过Path,从路由表中获取对应的路由项,如果没有对应路由,则返回null
尝试通过ClassName,从路由表中获取对应的路由项,如果没有对应路由,则返回空数组
移除Path修改器
可以被挂起的导航器,通常用于延迟动作。 延迟跳转主要应用场景有两种: 第一种:初始化时期,如果路由表的量非常巨大时。这种情况在别的路由框架上要么会白屏一段时间,要么直接丢弃这次跳转。在TheRouter中,框架会暂存当前的跳转动作,在路由表初始化完成后立刻执行跳转。 第二种:从Android 8.0开始,Activity 不能在后台启动页面,这对于业务判断造成了很大的影响。由于可能会有前台 Service 的情况,不能单纯以 Activity 生命周期判断前后台。在TheRouter中,框架允许业务自定义前后台规则,如果为后台情况,可以将跳转动作暂存,当进入前台后再恢复跳转。
当路由项被改变时,会触发回调。例如路由项被覆盖、路由项内容发生变化
设置自定义路由表初始化逻辑,设置后会在异步线程中调用自定义初始化逻辑 默认初始化逻辑为 initRouteMap()
路由AOP拦截器 与前三个处理器不同的点在于,路由的AOP拦截器全局只能有一个。用于实现AOP的能力,在整个TheRouter跳转的过程中,跳转前,目标页是否找到的回调,跳转时,跳转后,都可以做一些自定义的逻辑处理。
将当前路由转换为导航器