ARouter的使用

一、路由简介

         ARouter是阿里巴巴的开源路由,主要作用是为了解耦,同时为不同Module之间页面的开启和传值提供了支持。

二、怎样使用

        添加依赖

        在每个Module的app下的defaultConfig下添加如下代码

        如果有多个Module,在每个依赖下面添加如下依赖

        1、首先初始化ARouter,尽早的初始化ARouter,并且开启调试模式和日志要放在init()之前,否则无效,正式上线的时候关闭调试模式,不打印日志。

初始化ARouter

        2、在支持路由的页面添加注解,并且路径至少要两级,/xx/xx

        第一级为分组,第二级为类的标识,我们也可以自定义分组

        3、在其他页面打开支持路由的页面

       方式一: 此方法没有自定义分组,没有传值

       方式二:自定义分组,没有传值,组名在build的第二个参数指定

        方式三:navigation(),里面可以添加路由的监听

        方式四:navigation()里面添加requestCode,替代startActivityForResult()

在开启的页面

       方式五:在路由的同时传值

        ARouter传递参数,支持八大基本数据类型、数组、集合等,如果传JavaBean,则需要实现Serializable或者Parcelable,如果传递List集合泛型为JavaBean,则JavaBean只能实现Parcelable。

        取值有两种方式

1、通过注入的形式首先要注入当前的类

然后通过@Autowired标注,或者@Autowired(name = "key")

2、通过getIntent().getxxExtra()

        方式六:Fragment的路由

直接获取实例

        方式七:接口的路由

1.写个接口集成IProvider

2.在具体子类添加注解

使用:

接口的路由,我试过把Activity作为具体的实现类,然后不管采用哪种方式获取IService都会报错,暂时没找到具体原因,因为时间紧急没来得及看源码,有了解的小伙伴可以讲解一下为什么,三克油。

你可能感兴趣的:(ARouter的使用)