Loading...
墨滴

kiwilss

2021/07/06  阅读:68  主题:科技蓝

Arouter 简单封装

前言

主要是对ARouter封装使用,只做了简单的封装处理,使用了扩展函数,方便使用,减少重复代码,提高效率。

方法列表

  • PostCard扩展函数
pretreatment    :预处理方法,原ARouter中的实现,不过舍弃了拦截器和自定义callback
buildIntent     :生成可跳转带参数的 intent
navigateForResult  :带回调的跳转
  • RouterKtx扩展函数
startActivityA    :普通的跳转
startActivityForResultA  :回调跳转

导入依赖

maven { url 'https://www.jitpack.io' }

implementation 'com.gitee.quetzalcoatl.ActivityResultApi:arouter:0.0.4'
kapt 'com.alibaba:arouter-compiler:1.5.2'

同时在 gradle 中还要加入:

id 'kotlin-kapt'
kapt {
    arguments {
        arg("AROUTER_MODULE_NAME", project.getName())
    }
}

不明白可以滑到底部查看项目地址,里面有导入和使用 demo,加入导入后报错,可以试试在project 的gradle.properties 中加入

android.useAndroidX=true
android.enableJetifier=true

使用详情

1. PostCard 使用介绍

首先是 PostCard 的使用,这个没有 RouterKtx 用起来方便,不过还是简单介绍一下 ,在 Activitiy/Fragment 中都是调用navigateForResult这个方法,参数和阿里路由传参方法一样,示例如下:

   ARouter.getInstance().build(RouterPage.ROUTER_ONE)
            .withString("key","keykeykey")
            .navigateForResult(this,99){requestCode, resultCode, data ->
                Log.e(TAG, ": $requestCode --- $resultCode ---${data?.getStringExtra("result")}" );
            }

2. RouterKtx 使用介绍

  1. 无参普通跳转
startActivityA(RouterPage.ROUTER_TWO)
  1. 使用 Bundle 传参跳转
val bundle = Bundle()
bundle.putString("key","这是 bundle 传值")
startActivityA(RouterPage.ROUTER_ONE,bundle)
  1. 使用 Pair 传参跳转
startActivityA(RouterPage.ROUTER_ONE,"key" to "这是 pair 传值""key2" to 88)
  1. 无参回调跳转
startActivityForResultA(RouterPage.ROUTER_ONE){resultCode,data->
      Log.e(TAG, ":  --- $resultCode ---${data?.getStringExtra("result")}" );
}
  1. Bundler 传参回调跳转
val bundle = Bundle()
bundle.putString("key","这是 bundle 传值")
startActivityForResultA(RouterPage.ROUTER_ONE,bundle){resultCode,data->
    Log.e(TAG, ":  --- $resultCode ---${data?.getStringExtra("result")}" );
}
  1. Pari 传参回调跳转
startActivityForResultA(RouterPage.ROUTER_ONE,
        "key" to "这是 pair 传值""key2" to 88){resultCode,data->
       Log.e(TAG, ":  --- $resultCode ---${data?.getStringExtra("result")}" );
}

地址

项目地址

kiwilss

2021/07/06  阅读:68  主题:科技蓝

作者介绍

kiwilss