美文网首页
2019-10-25 ARouter使用

2019-10-25 ARouter使用

作者: 六桥明月夜 | 来源:发表于2019-10-31 12:02 被阅读0次

    首先,为什么要使用ARouter ?原生的路由方案一般通过显式intent和隐式intent两种方案实现。在显示intent的情况下,因为会直接存在类依赖的问题,导致耦合很严重,而在隐式的情况下,一般的配置都是在Mainfest中的,这就导致了扩展性较大 。
    1.初始化,如下图 :


    image.png

    2.如果只是进行简单的跳转页面,
    ARouter.getInstance().build(“目标界面对应的路径”).navigation(); 就这样一行代码即可完成跳转界面。
    另外:
    1)首先:在Activity/Fragment类上面写上 Route path 注解。
    注意:这里的路径需要注意的是至少需要有两级,/xx/xx
    2)然后:在Activity/Fragment类里面进入Arouter 注入,也就是:ARouter.getInstance().inject(this);

    3)接着:目标的Activity类上面需要声明Route path 注解,以此对应(跳转如果不对应路径,框架会Toast说路径不匹配)
    当然最好是把路径写入到静态类中,封装一下


    image.png

    注销 :在Applicaton中 onTerminate()中注销


    image.png

    跳转方式 :
    1) ARouter.getInstance().build("路径").navigation(); //和注解路径一致
    2)带参传


    image.png

    3)接收参数 ,我们需要在目标界面,使用Autowired注解


    image.png
    值得注意的是,只有当 @Autowired(name = "test"),也就是key标签一致的情况下,才可以获取到对象的值,如果不写标签名,结果会为null 。为了规避每一个可能会遇到的风险,建议在@Autowired里面 都写上与之对应具体的key名。
    4)界面跳转动画,直接调用withTransition,里面传入两个动画即可(R.anim.xxx)
    image.png
    5)使用URI进行跳转

    ARouter框架也可以使用URI进行匹配跳转,代码也很少,只需匹配路径一致即可完成跳转:


    image.png
    6)Fragment的跳转也可以参照Activity跳转,第一步依旧是先写上类注释,然后是强转,代码如下
    image.png
    7)拦截器的使用 ,priority数字越小,优先级越高 ,拦截器方法越先执行
    image.png
    image.png
    8)ARouter如何实现类似startActivityForResult()?
    image.png
    image.png
    image.png

    以上就是ARouter的应用,希望有所帮助,Star !!!

    相关文章

      网友评论

          本文标题:2019-10-25 ARouter使用

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