資料介紹
軟件簡介
基于?MVVMFrame?框架為核心基礎(chǔ)庫構(gòu)建的組件化方案
主要使用的核心技術(shù)
- JetPack(Lifecycle,LiveData,ViewModel,Room)
- Dagger
- DataBinding
- Retrofit
- OkHttp
- Glide
- Kotlin coroutines
- ARouter
架構(gòu)
MVVMFrameComponent?組件化架構(gòu)圖分層如下:

因?yàn)榻M件化的核心基礎(chǔ)庫是基于?MVVMFrame,這里貼出?MVVMFrame?的架構(gòu)圖如下:

淺談組件化
- 什么是組件化?
組件化簡單概括就是把一個(gè)功能完整的?App?或?模塊?拆分成多個(gè)子模塊, 讓每個(gè)子模塊可以獨(dú)立編譯和運(yùn)行, 也可以作為?library?合并到宿主App組成一個(gè)完整的?App進(jìn)行編譯和運(yùn)行。每個(gè)模塊即可以不相互依賴,又可以相互交互。
- 為什么要組件化?
當(dāng)一個(gè)項(xiàng)目隨著時(shí)間的推移,需求不斷的變更與迭代。各個(gè)模塊也會變的相對復(fù)雜。維護(hù)難度也會隨之增加,時(shí)間久了,可能會引起一些新的問題。這時(shí)我們就需要組件化。
- 組件化的優(yōu)勢是什么?
當(dāng)一個(gè)App使用組件化開發(fā)方案時(shí),主要的優(yōu)勢有:組件化拆分各個(gè)模塊后,每個(gè)子模塊都可以獨(dú)立編譯和運(yùn)行,這樣在開發(fā)調(diào)測某個(gè)模塊時(shí),可以大大提高編譯速度和開發(fā)效率。多人開發(fā)時(shí),每個(gè)人負(fù)責(zé)獨(dú)立的模塊,更有利于多人團(tuán)隊(duì)協(xié)作開發(fā)。并且各個(gè)模塊之間的代碼邊界相對清晰,更易于后期維護(hù)。
MVVMFrameComponent 組件化方案
MVVMFrameComponent?=?MVVMFrame?+?Component。即?MVVMFrameComponent?采用?MVVM?模式架構(gòu)的組件化方案。
工程各個(gè) Module 相關(guān)說明
app
宿主App:當(dāng)各個(gè)子?Module?作為?library?時(shí),則可將所有組件集成到?宿主App?中。此時(shí)?宿主App?則是一個(gè)擁有所有組件功能集合的完整的App。
common-base
組件化公共基礎(chǔ)庫:主要包含?MVVMFrame?快速開發(fā)框架,和作為組件化的一些公共的核心基礎(chǔ)庫,方便快速構(gòu)建組件化?Project。
common-res
組件化公共資源庫:主要方便統(tǒng)一管理各個(gè)?Module?中的一些公共資源相關(guān)。
module-joke
一個(gè)簡單的笑話功能模塊:主要用來展示基于?MVVMFrame?來實(shí)現(xiàn)組件化開發(fā),作為組件化開發(fā)的?Module?實(shí)現(xiàn)示例之一。
module-news
一個(gè)簡單的新聞功能模塊:主要用來展示基于?MVVMFrame?來實(shí)現(xiàn)組件化開發(fā),作為組件化開發(fā)的?Module?實(shí)現(xiàn)示例之一。
其他
特別說明
Project?->?build.gradle?內(nèi)的自定義變量?isBuildModule
自定義變量?isBuildModule?來統(tǒng)一管理各個(gè)子 module 方便在?application?與?library?之間進(jìn)行切換
當(dāng)?isBuildModule = true?時(shí),表示 各個(gè)子?module?為?application?,即?module?可獨(dú)立運(yùn)行 當(dāng)?isBuildModule = false?時(shí),表示 各個(gè)子?module?為?library?,即?module?作為?library?合并到?宿主App
Project?->?module-build.gradle
組件化子?module?通用?build.gradle?,方便統(tǒng)一管理
根據(jù)?isBuildModule?來統(tǒng)一管理各個(gè)子?module?在?application?與?library?之間切換
關(guān)于?MVVMFrame
因?yàn)?MVVMFrameComponent?的核心基礎(chǔ)庫是基于?MVVMFrame?的,所以需要對?MVVMFrame?有一定的了解,才能在使用?MVVMFrameComponent?時(shí)更加得心應(yīng)手, 這里不再特意介紹?MVVMFrame?相關(guān)的使用,具體介紹你可以直接查看?MVVMFrame
示例
關(guān)于各組件/模塊共用?Application?初始化
在每一個(gè)子模塊,寫一個(gè)IComponentApp的實(shí)現(xiàn)類,實(shí)現(xiàn)各個(gè)子模塊共用?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è)計(jì)方案 13次下載
- 基于DSP的變電站綜合自動化控制系統(tǒng) 23次下載
- 手術(shù)病例中結(jié)構(gòu)化數(shù)據(jù)自動抽取設(shè)計(jì)方案 3次下載
- 物聯(lián)網(wǎng)的技術(shù)碎片化與業(yè)務(wù)碎片化資料下載
- 組件放置,接地問題,供電和解耦:音頻放大器調(diào)試小技巧資料下載
- 個(gè)性化廣告推薦系統(tǒng)設(shè)計(jì)方案及應(yīng)用 13次下載
- Kubernetes云平臺的彈性伸縮實(shí)現(xiàn)方案 11次下載
- 微信小程序如何開發(fā)?微信小程序教程視頻常用組件API開發(fā)項(xiàng)目實(shí)戰(zhàn) 88次下載
- 機(jī)電一體化課件1:導(dǎo)軌方案及機(jī)電系統(tǒng)設(shè)計(jì) 0次下載
- 一種不改變原有光伏組件結(jié)構(gòu)優(yōu)化方法 4次下載
- 變壓器狀態(tài)監(jiān)測組件功能整合 2次下載
- 倍福EtherCAT端子盒構(gòu)成創(chuàng)新組件方案 10次下載
- 米波有源相控陣數(shù)字化TR組件設(shè)計(jì) 47次下載
- 半剛性電纜組件技術(shù)應(yīng)用 17次下載
- 光伏電站組件IV曲線測試儀:光伏組件的 “性能體檢儀” 879次閱讀
- RVBacktrace RISC-V極簡?;厮?b class="flag-6" style="color: red">組件 1.4k次閱讀
- 芯啟源電纜組件命名規(guī)則 1.1k次閱讀
- 模塊化不間斷電源常見組件,旁路路徑的關(guān)鍵 1.2k次閱讀
- 使用Jenkins和單個(gè)模板部署多個(gè)Kubernetes組件 1.8k次閱讀
- 光伏組件智能清潔機(jī)器人設(shè)計(jì)方案 2.7k次閱讀
- Delphi數(shù)據(jù)訪問組件方案 1.5k次閱讀
- 驗(yàn)證組件配置參數(shù) 1.4k次閱讀
- 可重用的驗(yàn)證組件中構(gòu)建測試平臺的步驟 1.3k次閱讀
- 層次化的UVM TLM連接 1.3k次閱讀
- 組件清潔是必要的嗎 2k次閱讀
- 基于PlatformIO IDE的家庭自動化系統(tǒng)設(shè)計(jì)方案實(shí)現(xiàn) 3.3k次閱讀
- 嵌入式監(jiān)控系統(tǒng)的主要功能組件及如何實(shí)現(xiàn)應(yīng)用設(shè)計(jì) 3.2k次閱讀
- 互連組件使用示例 3.2k次閱讀
- 大規(guī)模物聯(lián)網(wǎng)的要求以及解決方案組件 2.1k次閱讀
下載排行
本周
- 1矽力杰 Silergy SY7215A 同步升壓調(diào)節(jié)器 規(guī)格書 Datasheet 佰祥電子
- 1.12 MB | 5次下載 | 免費(fèi)
- 2HT81696H 內(nèi)置升壓的30W立體聲D類音頻功放數(shù)據(jù)手冊
- 1.21 MB | 1次下載 | 免費(fèi)
- 3HTA6863 3W超低噪聲超低功耗單聲道D類音頻功率放大器數(shù)據(jù)手冊
- 0.87 MB | 次下載 | 免費(fèi)
- 4南芯 Southchip SC8802C 充電控制器 規(guī)格書 Datasheet 佰祥電子
- 88.16 KB | 次下載 | 免費(fèi)
- 5矽力杰 Silergy SY7065 同步升壓轉(zhuǎn)換器 規(guī)格書 Datasheet 佰祥電子
- 910.67 KB | 次下載 | 免費(fèi)
- 6矽力杰 Silergy SY7066 同步升壓轉(zhuǎn)換器 規(guī)格書 Datasheet 佰祥電子
- 989.14 KB | 次下載 | 免費(fèi)
- 7WD6208A產(chǎn)品規(guī)格書
- 631.24 KB | 次下載 | 免費(fèi)
- 8NB685 26 V,12 A,低靜態(tài)電流,大電流 同步降壓變換器數(shù)據(jù)手冊
- 1.64 MB | 次下載 | 2 積分
本月
- 1EMC PCB設(shè)計(jì)總結(jié)
- 0.33 MB | 12次下載 | 免費(fèi)
- 2PD取電芯片 ECP5702規(guī)格書
- 0.88 MB | 5次下載 | 免費(fèi)
- 3矽力杰 Silergy SY7215A 同步升壓調(diào)節(jié)器 規(guī)格書 Datasheet 佰祥電子
- 1.12 MB | 5次下載 | 免費(fèi)
- 4氮化鎵GaN FET/GaN HEMT 功率驅(qū)動電路選型表
- 0.10 MB | 3次下載 | 免費(fèi)
- 5PD取電芯片,可取5/9/12/15/20V電壓ECP5702數(shù)據(jù)手冊
- 0.88 MB | 3次下載 | 免費(fèi)
- 6SY50655 用于高輸入電壓應(yīng)用的偽固定頻率SSR反激式穩(wěn)壓器英文資料
- 1.01 MB | 3次下載 | 免費(fèi)
- 7怎么為半導(dǎo)體測試儀選擇精密放大器
- 0.65 MB | 2次下載 | 免費(fèi)
- 8SY52341 次級側(cè)同步整流英文手冊
- 0.94 MB | 2次下載 | 免費(fèi)
總榜
- 1matlab軟件下載入口
- 未知 | 935137次下載 | 10 積分
- 2開源硬件-PMP21529.1-4 開關(guān)降壓/升壓雙向直流/直流轉(zhuǎn)換器 PCB layout 設(shè)計(jì)
- 1.48MB | 420064次下載 | 10 積分
- 3Altium DXP2002下載入口
- 未知 | 233095次下載 | 10 積分
- 4電路仿真軟件multisim 10.0免費(fèi)下載
- 340992 | 191469次下載 | 10 積分
- 5十天學(xué)會AVR單片機(jī)與C語言視頻教程 下載
- 158M | 183360次下載 | 10 積分
- 6labview8.5下載
- 未知 | 81606次下載 | 10 積分
- 7Keil工具M(jìn)DK-Arm免費(fèi)下載
- 0.02 MB | 73832次下載 | 10 積分
- 8LabVIEW 8.6下載
- 未知 | 65991次下載 | 10 積分
電子發(fā)燒友App





創(chuàng)作
發(fā)文章
發(fā)帖
提問
發(fā)資料
發(fā)視頻
上傳資料賺積分
評論