前言
其實(shí)標(biāo)題是給自己寫的,有大概一年沒做安卓了,Android技術(shù)的更新實(shí)在出乎意料,kotlin已經(jīng)逐漸開始取代Java。最近被很多人問到Jetpack,表示沒用過,瞬間覺得out了。包括現(xiàn)在流行的MVVM框架,都是這兩年比較火的Android框架,是目前Android程序員必須要掌握的技術(shù)內(nèi)容,于是趕緊抽空惡補(bǔ)一下相關(guān)知識。
Jetpack介紹
你可以把它叫做 --- 程序開發(fā)組件。是 Google 在2018年推出的一個(gè)官方開發(fā)組件工具集,目的是為了幫助我們的代碼更規(guī)范簡潔,提高開發(fā)效率,特別是結(jié)合了 MVVM 框架和 kotlin 之后,可稱為神器。
它其中的一些組件其實(shí)在之前我們就已經(jīng)用過,只不過現(xiàn)在被 Google 納入到了 Jetpack ,比如常用的 Fragment 、Permission、Notifications、sqlite等。

通過圖我們可以知道他的強(qiáng)大之處,在之前我們需要去 GitHub 去找各種第三方庫去實(shí)現(xiàn),而現(xiàn)在 jetpack 已經(jīng)給我們提供了日常開發(fā)用的大部分組件,而且相對于一些第三方的組件使用上更加穩(wěn)定。
基本使用
建議使用 kotlin
1、首先在項(xiàng)目根目錄 Project 的 build.gradle 中添加
allprojects {
repositories {
google()
jcenter()
}
}
如果已添加請忽略該步驟。
如果編譯失敗請將 google() 和 jecenter() 上下位置調(diào)換
2、在項(xiàng)目 model 目錄下的 build.gradle 中添加對應(yīng)的 jetpack 組件(按需添加)
dependencies {
def lifecycle_version = "2.0.0"
implementation "androidx.lifecycle:lifecycle-extensions:$lifecycle_version"
implementation "androidx.lifecycle:lifecycle-viewmodel-ktx:$lifecycle_version"
...
}
具體所有組件庫及最新版本請查看《官方文檔》
關(guān)于 Android X
AndroidX 是 Jetpack 庫的一部分,并且 AndroidX 是對于以前的 Android 原生庫的升級,并且提供向下兼容。所以官方明確建議新項(xiàng)目使用 AndroidX ,當(dāng)然對現(xiàn)有的項(xiàng)目也可以考慮遷移到 AndroidX 。
遷移過程:
首先 AndroidStudio版本要版本要是3.2或者更高
1、在項(xiàng)目的gradle.properties文件內(nèi)添加如下配置
android.useAndroidX=true
android.enableJetifier=true
2、從菜單欄中依次選擇 Refactor > Migrate to AndroidX
??警告:遷移有一定風(fēng)險(xiǎn),如果項(xiàng)目的第三方依賴過多,并且比較老不支持 androidx ,很可能會(huì)出現(xiàn)兼容問題。