1.Jetpack主要特性有以下三點:
1.加速開發
組件可單獨使用,也可以協同工作,當使用kotlin語言特性時,可以提高效率。
2.消除樣板代碼
Android Jetpack可管理繁瑣的Activity(如后台任務、導航和生命周期管理)。
3.構建高質量的強大應用
Android Jetpack組件圍繞現代化設計實踐構建而成,具有向后兼容性,可以減少崩潰和內存泄漏。
2.Jetpack的分類。
DataBinding:以聲明方式將可觀察數據綁定到界面元素,通常和ViewModel配合使用。
Lifecycle:用於管理Activity和Fragment的生命周期,可幫助開發者生成更易於維護的輕量級代碼。
LiveData: 在底層數據庫更改時通知視圖。它是一個可觀察的數據持有者,與常規observable不同,LiveData是生命周期感知的。
Navigation:處理應用內導航。
Paging:可以幫助開發者一次加載和顯示小塊數據,按需加載部分數據可減少網絡帶寬和系統資源的使用。
Room:友好、流暢的訪問SQLite數據庫。它在SQLite的基礎上提供了一個抽象層,允許更強大的數據庫訪問。
ViewModel: 以生命周期的方式管理界面相關的數據,通常和DataBinding配合使用,為開發者實現MVVM架構提供了強有力的支持。
WorkManager: 管理Android的后台的作業,即使應用程序退出或設備重新啟動也可以運行可延遲的異步任務。
3.在應用中引入Jetpack相關組件
在項目build.gradle中添加google() 庫,如下所示。
allprojects {
repositories {
google()
jcenter()
}
}
如果想引入Room,可以在模塊build.gradle中這么寫:
implementation "android.arch.persistence.room:runtime:1.1.1" annotationProcessor "android.arch.persistence.room:compiler:1.1.1 " androidTestImplementation "android.arch.persistence.room:testing:1.1.1"