背景介紹
早在2008年,Google 推出了Android ,但那個(gè)時(shí)候 Android 剛剛問(wèn)世骂倘,經(jīng)過(guò)這將近11年的發(fā)展和不斷優(yōu)化志于,Android 可以說(shuō)逐漸變得成熟,方便和應(yīng)用越來(lái)越廣抗斤。 隨著 Android 手機(jī)的市場(chǎng)保有量越來(lái)越多,APP的研發(fā)朝著愈發(fā)的簡(jiǎn)單化,易上手的方向發(fā)展忘分。而 Google 也是站在這一個(gè)角度出發(fā),如何快速得讓一個(gè)研發(fā)人員開(kāi)發(fā)出一款A(yù)PP白修,也可以快速的添加新的開(kāi)發(fā)人員妒峦。
現(xiàn)在在 Google 應(yīng)用市場(chǎng)當(dāng)中,大部分 APP 已經(jīng)開(kāi)始使用 Android Jetpack兵睛。通過(guò) Android Jetpack 可以讓我們的 BUG 減少肯骇,讓我們把更多的精力放在打造應(yīng)用本身。 為了這種模板式的開(kāi)發(fā)祖很,Google 在2018年推出了 Android Jetpack累盗。接下來(lái),我將會(huì)通過(guò)一系列的文章來(lái)介紹Android Jetpack突琳,旨在希望了解若债、學(xué)習(xí)、應(yīng)用Android Jetpack的小伙伴一個(gè)參考資料拆融。
相信很多小伙伴對(duì)MVVM并不陌生蠢琳,也有很多小伙伴嘗試打造MVVM,而現(xiàn)在這就可以通過(guò)Android Jetpack來(lái)相對(duì)輕松地完成镜豹。所以今后的分享重點(diǎn)也會(huì)放在Architecture Compinents這一部分
JetPack的組成
Jetpack由四部分組成:
如圖
Foundation:基礎(chǔ)
Architecture:體系結(jié)構(gòu)
UI:視覺(jué)交互
Behavior:行為
而Android Jetpack采用的是組件化的方式傲须,這樣的好處就是每個(gè)組件都是相對(duì)獨(dú)立的,也就是說(shuō)每個(gè)組件都是可以被單獨(dú)使用和構(gòu)建的趟脂。
這樣就十分的靈活泰讽,我們可以根據(jù)我們自己的項(xiàng)目選擇我們想要的功能或者是適于我們應(yīng)用程序的功能。
Architecture Compinents(架構(gòu)組件)
架構(gòu)組件包括
Data Bingding(數(shù)據(jù)綁定)
Room(數(shù)據(jù)庫(kù))
WorkManager(后臺(tái)任務(wù)管家)
Lifecycle(生命周期)
Navigation(導(dǎo)航)
Paging(分頁(yè))
Data Binding(數(shù)據(jù)綁定)
LiveData(底層數(shù)據(jù)通知更改視圖)
ViewModel(以注重生命周期的方式管理界面的相關(guān)數(shù)據(jù))
Foundation(基礎(chǔ))
AppCompat(向后兼容)
Android KTX(編寫(xiě)更加簡(jiǎn)潔的Kotlin代碼)
Multidex (多處理dex的問(wèn)題)
Test(測(cè)試)
Behavior(行為)
Download manager(下載給管理器)
Media & playback(媒體和播放)
Notifications(通知)
Permissions(權(quán)限)
Preferences(偏好設(shè)置)
Sharing(共享)
Slices*切片
UI(視覺(jué)交互)
Animation & transitions(動(dòng)畫(huà)和過(guò)渡)
Auto(Auto組件)
Emoji(標(biāo)簽)
Fragment(Fragment)
Layout(布局)
Palette(調(diào)色板)
TV(TV)
Wear OS by Google(穿戴設(shè)備)
使用JetPack的好處
1.消除大量重復(fù)樣板式的代碼。
2.簡(jiǎn)化復(fù)雜的任務(wù)已卸。
3.提供了強(qiáng)健的向后兼容的能力佛玄。
4.加速Android的開(kāi)發(fā)進(jìn)程。
最后
可以看得出累澡,Google 推出的 Android Jetpack 組件的集合梦抢,可以讓我們開(kāi)發(fā)者更加輕松地開(kāi)發(fā)出出色的 Android 應(yīng)用。這些組件可幫助我們寫(xiě)大量重復(fù)的代碼的任務(wù)愧哟,并且可以簡(jiǎn)化復(fù)雜的任務(wù)奥吩,以便讓我們把更多的精力放在業(yè)務(wù)邏輯上。最終推動(dòng) Android 的快速發(fā)展蕊梧。