您当前的位置: 首页 >  ar
  • 4浏览

    0关注

    674博文

    0收益

  • 0浏览

    0点赞

    0打赏

    0留言

私信
关注
热门博文

ARouter原理解析

沙漠一只雕得儿得儿 发布时间:2020-08-09 15:54:52 ,浏览量:4

一、ARouter概述

用简单一两句话总结出来:ARouter通过Apt技术,生成保存路径(路由path)和被注解(@Router)的组件类的映射关系的类,利用这些保存了映射关系的类,Arouter根据用户的请求postcard(明信片)寻找到要跳转的目标地址(class),使用Intent跳转。原理很简单,可以看出来,该框架的核心是利用apt生成的映射关系。

使用时,在每个需要对其他module提供调用的Activity中,都要声明类似下面@Route注解,我们称之为路由地址。

@Route(path = "/main/homepage")
public class HomeActivity extends BaseActivity {
		onCreate()
		....
}

然后在需要跳转的时候调用

Arouter.getInstance().build("main/hello").navigation;

这里的路径“main/hello”是用户唯一配置的东西,我们需要通过这个path找到对应的Activity。最简单的思路就是通过APT技术,寻找到所有带有注解@Router的组件,将其注解值path和对应的Activity保存到一个map里,比如像下面这样:

class RouterMap {
	 public Map getAllRoutes {
	 		Map map = new HashMap            
关注
打赏
1657159701
查看更多评论
0.0403s