美文网首页
学习笔记--路由组件ARouter

学习笔记--路由组件ARouter

作者: RexHuang | 来源:发表于2020-09-23 16:08 被阅读0次

ARouter介绍

ARouter介绍
  • AutoWired注解:标记需要自动注入的参数
  • Route注解:标记页面为路由节点
  • Interceptor注解:标记一个类为拦截器,在路由过程中实现按需拦截
  • IProvider接口:配合Route注解暴露服务供其他模块调用。实现跨模块调用的能力
  • RouteProcessor:编译时扫描被Route注解标记的类,将路由信息收集起来,按照模块和路由组的划分写入相应的文件中
  • AutowiredProcessor:编译时扫描被AutoWired注解标记的字段和所在的类,将字段和类一一对应的收集起来,然后写入文件。该文件就是在运行阶段拿来实现参数自动注入工作的类。
  • InterceptorProcessor:编译时扫描被Interceptor注解标记的类,将模块下所有拦截器的类相关信息收集起来,写入文件

ARouter基本用法

依赖引入与配置和基本用法

ARouter编译时原理分析

ARouter编译原理
  • RouteProcessor扫描当前模块下标记了@Route注解的类,识别注解标记类的类型是什么(如Activity,Broadcast,Provider,Service, ContentProvider,Fragment),将类的关键信息包装成RouteMeta对象,并且按照路由组的概念分别存储到groupMap的集合当中,最后遍历groupMap生成当前模块下的路由组文件(ARouter$$Group$$groupName),当前模块下路由的根节点源文件(ARouter$$Root$$app),当前模块下对外暴露服务的Provider源文件(ARouter$$Providers$$app),如果开启了生成文档的开关,还会生成当前模块的路由Json描述文件

  • InterceptorProcessor扫描当前模块下标记了@Interceptor注解的类,然后把拦截器的优先级、名称、class对象信息写入ARouter$$Interceptors$$app这个文件

  • AutowiredProcessorr扫描当前模块下标记了@AutoWired注解的所有的字段,然后解析每个字段的名称和数据类型,生成能够从Intent读取参数并且给该字段赋值的源文件。

JavaPoet

JavaPoet的使用和介绍

ARouter初始化流程

ARouter初始化流程

ARouter路由流程

ARouter路由流程

相关文章

  • 学习笔记--路由组件ARouter

    ARouter介绍 AutoWired注解:标记需要自动注入的参数 Route注解:标记页面为路由节点 Inter...

  • Arouter

    Arouter Arouter是一款路由框架,在做组件化是用于组件间通信(包括页面跳转,调用另一个组件的服务等),...

  • 组件路由:ARouter

    我们知道路由框架主要是为项目组件化服务的 就1个特点: 解耦(配合组件化) 集成步骤:导库全局配置文件 使用到AR...

  • [Android] ARouter

    开源最佳实践:Android平台页面路由框架ARouter Alibaba-ARouter 源码分析笔记 ARou...

  • 探索 ARouter 原理

    1. ARouter 原理概述 ARouter 是阿里开源的一款帮助 Android APP 进行组件化改造的路由...

  • Android 小型路由 SimpleRouter

    闲来无事,利用 APT 写了个类似 ARouter 的小型路由框架,方便组件化跳转。 功能说明 基本路由跳转 路由...

  • ARouter 源码分析之 Group 和 Path

    首先我们都知道 ARouter是以路由的方式实现组件间(组件化项目)通讯的的框架。 路由的本质,是映射和寻址,收集...

  • ARouter笔记

    ARouter是什么? ARouter是:阿里巴巴自研路由框架,主要解决组件间、模块间的 界面跳转 问题。 ARo...

  • [源码探究]ARouter 源码学习

    ARouter 源码学习 官方文档:Android平台页面路由框架ARouter[https://yq.aliyu...

  • 关于阿里推出的路由框架ARouter源码解析

    ARouter 是阿里推出的一款页面路由框架。由于项目中采用了组件化架构进行开发,通过 ARouter 实现了页面...

网友评论

      本文标题:学习笔记--路由组件ARouter

      本文链接:https://www.haomeiwen.com/subject/wdjoyktx.html