資料介紹
軟件簡介
基于?MVVMFrame?框架為核心基礎(chǔ)庫構(gòu)建的組件化方案
主要使用的核心技術(shù)
- JetPack(Lifecycle,LiveData,ViewModel,Room)
- Dagger
- DataBinding
- Retrofit
- OkHttp
- Glide
- Kotlin coroutines
- ARouter
架構(gòu)
MVVMFrameComponent?組件化架構(gòu)圖分層如下:
因為組件化的核心基礎(chǔ)庫是基于?MVVMFrame,這里貼出?MVVMFrame?的架構(gòu)圖如下:
淺談組件化
- 什么是組件化?
組件化簡單概括就是把一個功能完整的?App?或?模塊?拆分成多個子模塊, 讓每個子模塊可以獨(dú)立編譯和運(yùn)行, 也可以作為?library?合并到宿主App組成一個完整的?App進(jìn)行編譯和運(yùn)行。每個模塊即可以不相互依賴,又可以相互交互。
- 為什么要組件化?
當(dāng)一個項目隨著時間的推移,需求不斷的變更與迭代。各個模塊也會變的相對復(fù)雜。維護(hù)難度也會隨之增加,時間久了,可能會引起一些新的問題。這時我們就需要組件化。
- 組件化的優(yōu)勢是什么?
當(dāng)一個App使用組件化開發(fā)方案時,主要的優(yōu)勢有:組件化拆分各個模塊后,每個子模塊都可以獨(dú)立編譯和運(yùn)行,這樣在開發(fā)調(diào)測某個模塊時,可以大大提高編譯速度和開發(fā)效率。多人開發(fā)時,每個人負(fù)責(zé)獨(dú)立的模塊,更有利于多人團(tuán)隊協(xié)作開發(fā)。并且各個模塊之間的代碼邊界相對清晰,更易于后期維護(hù)。
MVVMFrameComponent 組件化方案
MVVMFrameComponent?=?MVVMFrame?+?Component。即?MVVMFrameComponent?采用?MVVM?模式架構(gòu)的組件化方案。
工程各個 Module 相關(guān)說明
app
宿主App:當(dāng)各個子?Module?作為?library?時,則可將所有組件集成到?宿主App?中。此時?宿主App?則是一個擁有所有組件功能集合的完整的App。
common-base
組件化公共基礎(chǔ)庫:主要包含?MVVMFrame?快速開發(fā)框架,和作為組件化的一些公共的核心基礎(chǔ)庫,方便快速構(gòu)建組件化?Project。
common-res
組件化公共資源庫:主要方便統(tǒng)一管理各個?Module?中的一些公共資源相關(guān)。
module-joke
一個簡單的笑話功能模塊:主要用來展示基于?MVVMFrame?來實(shí)現(xiàn)組件化開發(fā),作為組件化開發(fā)的?Module?實(shí)現(xiàn)示例之一。
module-news
一個簡單的新聞功能模塊:主要用來展示基于?MVVMFrame?來實(shí)現(xiàn)組件化開發(fā),作為組件化開發(fā)的?Module?實(shí)現(xiàn)示例之一。
其他
特別說明
Project?->?build.gradle?內(nèi)的自定義變量?isBuildModule
自定義變量?isBuildModule?來統(tǒng)一管理各個子 module 方便在?application?與?library?之間進(jìn)行切換
當(dāng)?isBuildModule = true?時,表示 各個子?module?為?application?,即?module?可獨(dú)立運(yùn)行 當(dāng)?isBuildModule = false?時,表示 各個子?module?為?library?,即?module?作為?library?合并到?宿主App
Project?->?module-build.gradle
組件化子?module?通用?build.gradle?,方便統(tǒng)一管理
根據(jù)?isBuildModule?來統(tǒng)一管理各個子?module?在?application?與?library?之間切換
關(guān)于?MVVMFrame
因為?MVVMFrameComponent?的核心基礎(chǔ)庫是基于?MVVMFrame?的,所以需要對?MVVMFrame?有一定的了解,才能在使用?MVVMFrameComponent?時更加得心應(yīng)手, 這里不再特意介紹?MVVMFrame?相關(guān)的使用,具體介紹你可以直接查看?MVVMFrame
示例
關(guān)于各組件/模塊共用?Application?初始化
在每一個子模塊,寫一個IComponentApp的實(shí)現(xiàn)類,實(shí)現(xiàn)各個子模塊共用?Application,示例如下:
//這是app中的示例 class AppComponentApp: IComponentApp { override fun onCreate(app: BaseApp) { DaggerAppMainComponent.builder() .appComponent(app.appComponent) .build() .inject(app) } }
在?Manifest?中配置?meta-data?對應(yīng)的IComponentApp實(shí)現(xiàn)類,示例如下 :
android:name="com.king.mvvm.component.app.AppComponentApp"
android:value="ComponentApp"/>
更多使用詳情,請查看app中的源碼使用示例
- 基于C++的雷達(dá)仿真系統(tǒng)組件化建模 25次下載
- 三彩燈PLC編程課堂信息化教學(xué)設(shè)計方案 13次下載
- 基于DSP的變電站綜合自動化控制系統(tǒng) 23次下載
- 手術(shù)病例中結(jié)構(gòu)化數(shù)據(jù)自動抽取設(shè)計方案 3次下載
- 高可靠性組件和解決方案
- 物聯(lián)網(wǎng)的技術(shù)碎片化與業(yè)務(wù)碎片化資料下載
- 組件放置,接地問題,供電和解耦:音頻放大器調(diào)試小技巧資料下載
- 個性化廣告推薦系統(tǒng)設(shè)計方案及應(yīng)用 13次下載
- Kubernetes云平臺的彈性伸縮實(shí)現(xiàn)方案 11次下載
- 微信小程序如何開發(fā)?微信小程序教程視頻常用組件API開發(fā)項目實(shí)戰(zhàn) 88次下載
- 機(jī)電一體化課件1:導(dǎo)軌方案及機(jī)電系統(tǒng)設(shè)計 0次下載
- 變壓器狀態(tài)監(jiān)測組件功能整合 2次下載
- 倍福EtherCAT端子盒構(gòu)成創(chuàng)新組件方案 10次下載
- 米波有源相控陣數(shù)字化TR組件設(shè)計 47次下載
- 半剛性電纜組件技術(shù)應(yīng)用 17次下載
- RVBacktrace RISC-V極簡?;厮?b class="flag-6" style="color: red">組件 429次閱讀
- 芯啟源電纜組件命名規(guī)則 393次閱讀
- 模塊化不間斷電源常見組件,旁路路徑的關(guān)鍵 452次閱讀
- 使用Jenkins和單個模板部署多個Kubernetes組件 814次閱讀
- 光伏組件智能清潔機(jī)器人設(shè)計方案 2730次閱讀
- Delphi數(shù)據(jù)訪問組件方案 848次閱讀
- 驗證組件配置參數(shù) 640次閱讀
- 可重用的驗證組件中構(gòu)建測試平臺的步驟 623次閱讀
- 層次化的UVM TLM連接 671次閱讀
- 組件清潔是必要的嗎 1261次閱讀
- 基于PlatformIO IDE的家庭自動化系統(tǒng)設(shè)計方案實(shí)現(xiàn) 2489次閱讀
- 嵌入式監(jiān)控系統(tǒng)的主要功能組件及如何實(shí)現(xiàn)應(yīng)用設(shè)計 2541次閱讀
- 互連組件使用示例 2694次閱讀
- 大規(guī)模物聯(lián)網(wǎng)的要求以及解決方案組件 1880次閱讀
- 度小滿套數(shù)字化資產(chǎn)應(yīng)用管理方案解析 1039次閱讀
下載排行
本周
- 1山景DSP芯片AP8248A2數(shù)據(jù)手冊
- 1.06 MB | 532次下載 | 免費(fèi)
- 2RK3399完整板原理圖(支持平板,盒子VR)
- 3.28 MB | 339次下載 | 免費(fèi)
- 3TC358743XBG評估板參考手冊
- 1.36 MB | 330次下載 | 免費(fèi)
- 4DFM軟件使用教程
- 0.84 MB | 295次下載 | 免費(fèi)
- 5元宇宙深度解析—未來的未來-風(fēng)口還是泡沫
- 6.40 MB | 227次下載 | 免費(fèi)
- 6迪文DGUS開發(fā)指南
- 31.67 MB | 194次下載 | 免費(fèi)
- 7元宇宙底層硬件系列報告
- 13.42 MB | 182次下載 | 免費(fèi)
- 8FP5207XR-G1中文應(yīng)用手冊
- 1.09 MB | 178次下載 | 免費(fèi)
本月
- 1OrCAD10.5下載OrCAD10.5中文版軟件
- 0.00 MB | 234315次下載 | 免費(fèi)
- 2555集成電路應(yīng)用800例(新編版)
- 0.00 MB | 33566次下載 | 免費(fèi)
- 3接口電路圖大全
- 未知 | 30323次下載 | 免費(fèi)
- 4開關(guān)電源設(shè)計實(shí)例指南
- 未知 | 21549次下載 | 免費(fèi)
- 5電氣工程師手冊免費(fèi)下載(新編第二版pdf電子書)
- 0.00 MB | 15349次下載 | 免費(fèi)
- 6數(shù)字電路基礎(chǔ)pdf(下載)
- 未知 | 13750次下載 | 免費(fèi)
- 7電子制作實(shí)例集錦 下載
- 未知 | 8113次下載 | 免費(fèi)
- 8《LED驅(qū)動電路設(shè)計》 溫德爾著
- 0.00 MB | 6656次下載 | 免費(fèi)
總榜
- 1matlab軟件下載入口
- 未知 | 935054次下載 | 免費(fèi)
- 2protel99se軟件下載(可英文版轉(zhuǎn)中文版)
- 78.1 MB | 537798次下載 | 免費(fèi)
- 3MATLAB 7.1 下載 (含軟件介紹)
- 未知 | 420027次下載 | 免費(fèi)
- 4OrCAD10.5下載OrCAD10.5中文版軟件
- 0.00 MB | 234315次下載 | 免費(fèi)
- 5Altium DXP2002下載入口
- 未知 | 233046次下載 | 免費(fèi)
- 6電路仿真軟件multisim 10.0免費(fèi)下載
- 340992 | 191187次下載 | 免費(fèi)
- 7十天學(xué)會AVR單片機(jī)與C語言視頻教程 下載
- 158M | 183279次下載 | 免費(fèi)
- 8proe5.0野火版下載(中文版免費(fèi)下載)
- 未知 | 138040次下載 | 免費(fèi)
評論