Android組件化,阿里ARouter的集成

一、概述

組件化開(kāi)發(fā)優(yōu)點(diǎn)多多,我也不多講。但怎么樣去搭建一個(gè)組件化的項(xiàng)目?下面就帶大家一步步的集成,少走點(diǎn)彎路。

二、創(chuàng)建組件化項(xiàng)目

1.首先創(chuàng)建項(xiàng)目,項(xiàng)目結(jié)構(gòu)如下:
app關(guān)聯(lián)lib-main、lib-personal 兩個(gè)模塊
模塊 lib-main、lib-personal 關(guān)聯(lián)lib-core
模塊 lib-core 關(guān)聯(lián)lib-base模塊。


無(wú)標(biāo)題.png
二、集成阿里的ARouter
  1. 阿里GitHub的ARouter
  2. 集成ARouter的順序:
    2.1 在lib-base模塊build.gradle文件關(guān)聯(lián)阿里的API庫(kù):compile 'com.alibaba:arouter-api:1.3.1'
    2.2 在app、lib-main、lib-personal 三個(gè)模塊的build.gradle文件加上編輯生成代碼的依賴(lài),如下圖:


    編輯生成代碼的依賴(lài).png

    2.3 在app項(xiàng)目里面的build.gradle文件添加組件:apply plugin: 'com.alibaba.arouter'
    2.4 在整個(gè)項(xiàng)目最外面的build.gradle添加:classpath "com.alibaba:arouter-register:1.0.2"

三、在Application里初始化ARouter
  ARouter.init(this); // 盡可能早,推薦在Application中初始化
四、在Activity上添加注解
@Route(path = "/app/main/activity")
public class MainActivity extends AppCompatActivity {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
    }
    public void home(View view){
        ARouter.getInstance().build("/main/home/activity").navigation();
    }

    public void login(View view){
        ARouter.getInstance().build("/personal/login/activity").navigation();
    }
}
五、測(cè)試ARouter
ARouter.getInstance().build("/personal/login/activity").navigation();
六、特別注意

ARouter允許一個(gè)module中存在多個(gè)分組,但是不允許多個(gè)module中存在相同的分組,會(huì)導(dǎo)致映射文件沖突。意思就是說(shuō)不同的module第一個(gè)路徑要不一樣,比如:path = "/app/main/activity" 和path="/personal/login/activity" 這兩個(gè)路徑是不同的module,如果都以/app或者/personal開(kāi)頭是不行的。

七、關(guān)于模塊間數(shù)據(jù)的交互
1. 小數(shù)據(jù),個(gè)人推薦用GSON轉(zhuǎn)成Json字符串進(jìn)行交互。
2. 大數(shù)據(jù),可以參考ARouter的開(kāi)發(fā)文檔,上面有作介紹。
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

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

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