Arouter 注解

Arouter 注解

Route

@Route是Arouter中大家最常用的注解

public @interface Route {
    String path();
    String group() default "";
    String name() default "";
    int extras() default Integer.MIN_VALUE;
    int priority() default -1;
}

再介绍下Warehouse,主要是装载了各种映射关系,比较简单

// 装载了所有的分组映射类,key是分组名,value是group映射的类名
static Map<String, Class<? extends IRouteGroup>> groupsIndex = new HashMap<>();
// 装载了所有的直接映射关系,各个分组内的详细的映射关系,value是path,value是RouteMeta
static Map<String, RouteMeta> routes = new HashMap<>();

// 装载了所有的服务提供者的映射,value是IProvider对应的class,value是对应的服务提供者,所以IProvider是单例,每一个类只有一个value
static Map<Class, IProvider> providers = new HashMap<>();
//服务提供者IProvider的映射,key是类名,value是RouteMeta
static Map<String, RouteMeta> providersIndex = new HashMap<>();

// 拦截器的映射,key为拦截器Interceptor的优先级,用的是UniqueKeyTreeMap,不允许有相同优先级的拦截器
static Map<Integer, Class<? extends IInterceptor>> interceptorsIndex = new UniqueKeyTreeMap<>("More than one interceptors use same priority [%s]");
//拦截器IInterceptor的列表
static List<IInterceptor> interceptors = new ArrayList<>();

里面有RouteMeta类的使用,下面在详细分析下RouteMeta

private RouteType type;         // 路由类型,有ACTIVITY,FRAGMENT,PROVIDER等
private Element rawType;        // 路由的原始类型
private Class<?> destination;   // 目标类
private String path;            // Path 
private String group;           // Group 
private int priority = -1;      // 优先级,值越小优先级越高
private int extra;              // 可以用于做一些是否需要登陆需求,
private Map<String, Integer> paramsType;  // 参数类型
private String name;//name

private Map<String, Autowired> injectConfig;  // 缓存inject配置

RouteMeta对@Route注解进行解析后再封装的对象,在@Route里面配置的值都会解析成RouteMeta的属性

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • ARouter是什么 ARouter是阿里巴巴开源的Android平台中对页面、服务提供路由功能的中间件,提倡的是...
    雪宝Wu阅读 7,001评论 0 64
  • 本文章用于记录笔者学习 ARouter 源码的过程,仅供参考,如有错误之处还望悉心指出,一起交流学习。 ARout...
    DevLocke阅读 13,978评论 6 52
  • Arouter Arouter是一款路由框架,在做组件化是用于组件间通信(包括页面跳转,调用另一个组件的服务等),...
    嗯哼嗯哼嗯哼嗯哼阅读 414评论 0 0
  • 听! 那位叩门的姑娘, 轻轻地吹着口哨, 发出悦耳的轻响。 瞧! 那个活泼的少女, 披着青绿的纱衣, 携着细雨和清...
    穴小鸮_阅读 253评论 1 4
  • 微小说 孝子 许向前是个孝子,常常寄钱给乡下的母亲。赚工资的那会儿,每逢发了工资最少也要给...
    子良_b739阅读 215评论 0 0