組件化開發(fā)---實戰(zhàn)demo

告別臃腫、降低耦合-----組件化

1.項目結(jié)構(gòu)圖

1.png

2.項目模塊

1.app模塊是一個殼工程,不在放置所有業(yè)務(wù)與功能---gradle文件里需要引入組件化模塊

2.png

?????? 2.base模塊存放業(yè)務(wù)工程需要繼承或者引用的基類或者工具庫,像BaseApplication、BaseActivity、第三方庫Glide、Retrofit等

3.png

?????? 3.module_login業(yè)務(wù)組件庫,應(yīng)用的業(yè)務(wù)被拆分成獨立的業(yè)務(wù),例如此項目的登錄業(yè)務(wù),通過參數(shù)控制該庫組件是否加入運行,這里通過改變useModule參數(shù)值實施控制。

gradle.properties參數(shù)值.4.png
業(yè)務(wù)模塊控制.5.png

3.ARouter的使用

??? 1.@Route聲明,從而表明當(dāng)前類是可以被其它組件打開的;

??? 2.通過inject方法,將當(dāng)前類注入進(jìn)ARoute,這樣當(dāng)前類被調(diào)用才能生效;

??? 3.通過navigation方法,可以帶上參數(shù)等,跳轉(zhuǎn)到其它的聲明過@Route的組件;

4.Demo地址

GitHub - ZhangZCoder/Demo_Componentization: 組件化demo

?著作權(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)容