1.Jetpack主要特性有以下三點: 1.加速開發組件可單獨使用,也可以協同工作,當使用kotlin語言特性時,可以提高效率。 2.消除樣板代碼Android Jetpack可管理繁瑣的Activity(如後臺任務、導航和生命周期管理)。 3.構建高質量的強大應用Android Jetpack組件 ...
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"