什麼是 Android Jetpack?

Android Jetpack 是一系列軟體元件的組合,透過這些元件可以幫助開發者寫出最佳實踐,避免樣板代碼並簡化複雜任務,讓開發者專注需要關心的代碼。
Jetpack 包含在 androidx.* 的套件名稱,沒有和任何平台 API 綁定,它向後相容並可頻繁更新,代表開發者可以隨時使用最新最好的版本。
 

使用 Jetpack 的好處

1.加速開發

Jetpack 元件可單獨或組合使用,同時利用 Kotlin 提供的特性來加速開發

2.消除樣板代碼

Jetpack 特別用來管理複雜的行為,如後台任務,導航,生命週期。讓開發者專注需要關心的部分

3.建立高品質,穩固的 App

Jetpack 可以減少崩潰,減少記憶體洩漏並提供向後兼容性
 

Android Jetpack Components(元件組)

Jetpack 主要有 4 個分類,各為 Fundation,Architecture,Behavior,UI,每個分類都包含不同數量的元件,各個元件提供特定功能並可單獨或協同使用。

1.Foundation

提供向後兼容,支援 Kotlin,測試相關功能

AppCompat Android KTX Multidex Test
為舊版 App 提供向後兼容性 支援 Kotlin 語言 支援多 DEX 檔案 Android 測試框架,提供單元測試和 UI測試

 

2.Architecture (Android Architecture Components)

提供建立穩固,可測試,可維護性高的 App

Data Binding Lifecycles LiveData Navigation Paging
將可觀察資料綁定到 UI 元件 管理 Activity 和 Fragment 生命週期 當資料改變時通知視圖(View) 處理 App 導航功能 循序的從數據來源讀取資料
Room ViewModel WorkManager
ORM的一種,可流暢存取 SQLite 以生命週期方式管理 UI 相關資料 管理後台任務

 

3.Behavior

讓 App 和標準 Android 服務集成,如 Notification,Permission,Sharing,Assistant

DownloadManager Media & playback Notifications Permissions Sharing Slices
排程和管理大量下載 播放媒體(包含Google Cast) 提供通知功能並可向後兼容 檢查和要求 App 權限 用於 Action bar 的共享操作 可在 App 之外顯示資料的 UI

 

4. UI

提供 Widgets 讓 App 使用簡單且有趣

Animation & transitions Auto Emoji Fragment Layout
用來移動或轉換 widget 幫助開發 Android Auto 元件 可在舊版本上使用最新的Emoji 功能 可元件化的基本單位 關於 App 版面配置
Palette TV Wear OS By Google
從調色板中提取有用訊息 幫助開發 Android TV 元件 幫助開發 Android Wear 元件