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