
ARouter源码
文章平均质量分 51
氦客
Stay hungry,Stay foolish
展开
-
ARouter源码解析02-加载路由表单
上篇文章我我们分析到,ARouter在IDE编译阶段,会自动生成一些文件。在这篇文章,我们将分析加载生成文件中的路由表单的过程。ARouter.init()ARouter唯一初始化的过程,在ARouter.init()中。 public static void init(Application application) { //... hasInit = _ARouter.init原创 2017-07-12 22:01:56 · 831 阅读 · 0 评论 -
ARouter源码解析03-路由跳转
上篇文章中,我们分析了如何将路由表单加载到内存中,这篇文章我们将分析如何根据这些路由表单,进行相应的跳转。 通过Class跳转HelloService service = ARouter.getInstance().navigation(HelloService.class); 通过Class的方法进行跳转,现仅用作IProvider的返回。来看navigation() protected原创 2017-07-14 00:49:44 · 1347 阅读 · 0 评论 -
ARouter源码解析01-编译生成文件
Arouter源码解析编译时注解ARouter采用了编译时注解,在IDE编译阶段,即会生成相关文件,以供后续使用。具体实现在arouter-annotation,由于编译时注解的实现原理都大同小异,在这里就不详细说明了。 @AutoService(Processor.class)@SupportedOptions(KEY_MODULE_NAME)@SupportedSourceVersion原创 2017-07-09 11:28:13 · 2420 阅读 · 0 评论 -
ARouter源码解析06-openDebug
在我们使用了 instant run ,ARouter的跳转会失效,这种情况下我们需要开init之前,调用openDebug。(仅限于debug环境,正式版本有安全风险)// 调试模式不是必须开启,但是为了防止有用户开启了InstantRun,但是// 忘了开调试模式,导致无法使用Demo,如果使用了InstantRun,必须在// 初始化之前开启调试模式,但是上线前需要关闭,InstantRu原创 2017-07-23 21:10:05 · 2006 阅读 · 0 评论 -
ARouter源码解析04-interceptor拦截器
上篇文章我们分析了ARouter的路由跳转,这篇文章我们来分析interceptor拦截器。 首先,同样在IDE编译过程中,拦截器也会产生相应的文件。(详见ARouter源码解析01-编译生成文件) public class ARouter$$Interceptors$$app implements IInterceptorGroup { @Override public void lo原创 2017-07-19 22:57:50 · 2168 阅读 · 0 评论 -
ARouter源码解析05-自动参数注入
这篇文章来分析ARouter的自动参数注入 以ARouter示例程序中的BlankFragment为例 @Route(path = "/test/fragment")public class BlankFragment extends Fragment { @Autowired String name; @Autowired(required = true) Tes原创 2017-07-23 20:53:55 · 2289 阅读 · 0 评论