1,前言
公司內(nèi)部開發(fā)的孵化項(xiàng)目,最終并未上線,借此解析項(xiàng)目中對(duì)于aac架構(gòu)的實(shí)踐
項(xiàng)目已開源,地址 https://github.com/luxiao0314/viet_news
2,aac簡(jiǎn)介
- 介紹 :
AAC:就是由多個(gè)組件組合而成的架構(gòu)庫(kù)钳枕,包含ViewModel勃救、LiveData抗碰、Room、Lifecycles题翻、DataBinding、Navigation汽烦、Paging瑰煎、WorkManager;* 作用 :使用AAC模式技肩,讓開放者更快捷的完成應(yīng)用程序的開發(fā) & 更容易維護(hù)與擴(kuò)展且轨。
ViewModel:以注重生命周期的方式管理界面相關(guān)的數(shù)據(jù);
LiveData:在底層數(shù)據(jù)庫(kù)更改時(shí)通知視圖虚婿;
Room:流暢地訪問 SQLite 數(shù)據(jù)庫(kù)旋奢;
Lifecycles:管理您的 Activity 和 Fragment 生命周期;
DataBinding:以聲明方式將可觀察數(shù)據(jù)綁定到界面元素雳锋;
Navigation:處理應(yīng)用內(nèi)導(dǎo)航所需的一切黄绩;
Paging:逐步從您的數(shù)據(jù)源按需加載信息;
WorkManager:管理您的 Android 后臺(tái)作業(yè)玷过; - 優(yōu)勢(shì) :
- 1.View 與 ViewModel 解耦爽丹;
- 2.層級(jí)架構(gòu)清明筑煮;
- 3.以生命周期的方式管理數(shù)據(jù);
3,項(xiàng)目結(jié)構(gòu)關(guān)系
image.png