一继谚、什么是組件化
組件化就是將App分成多個(gè)Module坊谁,每個(gè)Module以library的形式存在于項(xiàng)目中,并存在一個(gè)殼工程依賴這些Module茫因。如圖所示:
二、為何要用組件化
優(yōu)勢:
1杖剪、多人分module同步進(jìn)行開發(fā)冻押,開發(fā)速度快
2、開發(fā)過程中無需編譯整個(gè)project盛嘿,提高開發(fā)效率
3翼雀、模塊清晰、耦合度較低孩擂、便于維護(hù)
4、功能模塊可重復(fù)利用
三箱熬、組件間通信
四类垦、Module庫版本統(tǒng)一問題:
每個(gè)組件占用一個(gè)Module,如果每個(gè)module所引用的庫版本不一樣城须,將導(dǎo)致app存在重復(fù)的庫蚤认,增加apk包大小。所以糕伐,庫統(tǒng)一問題需要重視
1砰琢、在工程根目錄下創(chuàng)建config.gradle配置文件,如圖
config.gralle內(nèi)容如下良瞧,可按項(xiàng)目情況添加
2陪汽、調(diào)用方法
首先,在工程的build導(dǎo)入該文件褥蚯,如圖:
第二步挚冤,在各module的build.gradle引用,如圖
這里我們定義config變量為rootProject.ext(groovy語言定義赞庶,有興趣的同學(xué)可以了解下)api與implementation為Android studio3.0新加入命令训挡,api與compile功能一樣
主要澳骤,當(dāng)dependence中引用時(shí),單引號需改為雙引號(同樣是groovy語法)
至此澜薄,你已經(jīng)學(xué)會組件化的第一步啦为肮,下篇文章將介紹Module如何即是library,又是Application
組件化demo :?https://github.com/rongkun/ComponentJava