記錄 Arouter路由 的簡單使用

Arouter

一個用于幫助 Android App 進(jìn)行組件化改造的框架 —— 支持模塊間的路由、通信、解耦

1. 配置及依賴

1.1 java 版的依賴

在每個module中的build.gradle 導(dǎo)入依賴


api "com.alibaba:arouter-api:1.5.1" //路由庫 這個在library中導(dǎo)入即可 其它庫進(jìn)行依賴
annotationProcessor "com.alibaba:arouter-compiler:1.5.1" //注解編譯器 這個是每個module都需要依賴的


defaultConfig {
  javaCompileOptions {
            annotationProcessorOptions {
                arguments = [ AROUTER_MODULE_NAME : project.getName() ]
            }
        }
}

1.2 kotlin 版的依賴

在每個module中的build.gradle 導(dǎo)入依賴


apply plugin: 'kotlin-kapt'


api "com.alibaba:arouter-api:1.5.1" //路由庫 這個在library中導(dǎo)入即可 其它庫進(jìn)行依賴
kapt "com.alibaba:arouter-compiler:1.5.1" //注解編譯器 這個是每個module都需要依賴的


defaultConfig {
    kapt {
    arguments {
        arg("AROUTER_MODULE_NAME", project.getName())
    }
}
}

2. 初始化ARouter配置

2.1 在Application中配置


fun initArouter(){
 if (BuildConfig.DEBUG) {
    // 日志開啟
    ARouter.openLog()
    // 調(diào)試模式開啟,如果在install run模式下運(yùn)行,則必須開啟調(diào)試模式
    ARouter.openDebug()
 }
 ARouter.init(this)
}



//結(jié)束時釋放ARouter
override fun onTerminate() {
    super.onTerminate()
    ARouter.getInstance().destroy()
}


3 路由的使用

3.1 跳轉(zhuǎn)頁

//無參跳轉(zhuǎn)
ARouter.getInstance()
        .build("group/classpath")
        .navigation()

//有參跳轉(zhuǎn)
ARouter.getInstance()
        .build("group/classpath")
        .withString("android","android")    
        .navigation()

3.2 目標(biāo)頁

3.2.1 在類上添加Arouter 的路徑注解


//路徑必須是要兩級 例如 /xx/xx
 @Route(path = "group/classpath")

3.2.2 如果是帶有參數(shù)的則需要 注入的初始化

// 調(diào)用 inject 方法,如果傳遞過來的參數(shù)含有, 使用 @Autowired 的會自動解析
ARouter.getInstance().inject(this)  //寫在BaseActivity中一勞永逸 

3.2.3 獲取傳遞過來的參數(shù)


@Autowired(name = "android")
@JvmField   //必須加上,否則無法編譯  kotlin 不加會報錯
var android: String= ""

4 具體使用看官網(wǎng)地址

https://github.com/alibaba/ARouter
或者鏡像地址
https://gitee.com/mirrors/ARouter

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容