Android Jetpack
Jetpack 包含一系列程式庫,可協助開發人員遵循最佳做法、減少樣板程式碼,以及編寫在各種 Android 版本和裝置中都能維持一致運作方式的程式碼,讓開發人員能專心處理重要的程式碼。
瞭解如何使用 Jetpack
基礎課程
瞭解 Android Kotlin 基礎課程的重要 Jetpack 程式庫,並減少應用程式中的樣板
實作教學課程
實作可簡化資料層的三個 Jetpack 程式庫:LiveData、ViewModel 和 Room
Sunflower 範例應用程式
探索最熱門的 Jetpack 程式庫如何在正式版等級應用程式中搭配使用
Jetpack 程式庫 探索所有程式庫
* 熱門和常用的程式庫優先列出
activity * | 存取以「活動」為基礎建構的可組合 API。 |
appcompat * | 允許在平台的舊版 API 上存取新 API (多數採用質感設計)。 |
appsearch * | 為使用者打造自訂應用程式內搜尋功能。 |
camera * | 建置行動相機應用程式。 |
compose * | 利用可組合函式描述其形狀和資料依附元件進行編程,以定義使用者介面。 |
databinding * | 使用宣告式格式,將版面配置中的使用者介面元件繫結至應用程式中的資料來源。 |
fragment * | 將應用程式區隔成在一個「活動」中代管的多個獨立畫面。 |
hilt * | 擴充 Dagger Hilt 的功能,以允許插入 androidx 程式庫中特定類別的依附元件。 |
lifecycle * | 建構可根據活動或片段的目前生命週期狀態來調整行為的生命週期感知元件。 |
質感設計元件 * | 適用於 Android 的 Material Design 使用者介面元件。 |
navigation * | 建構及組織應用程式內使用者介面、處理深層連結,以及在多個畫面間導航。 |
paging * | 載入分頁資料,並在 RecyclerView 中顯示。 |
room * | 建立、儲存和管理 SQLite 資料庫支援的持續資料。 |
test * | 在 Android 中進行測試。 |
work * | 安排及執行可延後且設有限制條件的背景工作。 |
ads | 無論是否有 Play 服務,都會取得廣告 ID。 |
註解 | 列出中繼資料,協助工具開發人員和其他開發人員瞭解應用程式的程式碼。 |
arch.core | 其他 arch 依附元件的協助程式,包括可和 LiveData 搭配使用的 JUnit 測試規則。 |
asynclayoutinflater | 以非同步方式加載版面配置,以避免使用者介面發生當機。 |
autofill | 透過延伸提示以提高自動填入準確度。 |
benchmark | 在 Android Studio 中準確評估程式碼的效能。 |
biometric | 使用生物特徵或裝置憑證進行驗證,以及執行加密作業。 |
browser | 在使用者的預設瀏覽器中顯示網頁。 |
car-app | 打造 Android Auto 專用的導航、停車位和充電應用程式。 |
cardview | 使用圓角和投射陰影實作質感設計卡片模式。 |
collection | 降低小型現有集合和新集合的記憶體影響。 |
compose.animation | 在 Jetpack Compose 應用程式中建置動畫,打造豐富的使用者體驗。 |
compose.compiler | 轉換 @Composable 函式,並透過 Kotlin 編譯器外掛程式啟用最佳化功能。 |
compose.foundation | 透過現成可用的建構塊編寫 Jetpack Compose 應用程式,並擴充基礎以建構您自己的設計系統元件。 |
compose.material | 使用 Material Design 元件建構 Jetpack Compose UI。這是更高層級的 Compose 進入點,用意是確保提供的元件與 www.material.io 上所述元件相符。 |
compose.material3 | 運用新推出的質感設計 3 元件,打造 Jetpack Compose UI。質感設計 3 包含更新後的主題設定和元件,以及動態色彩等 Material You 個人化功能,並在設計方面與全新的 Android 12 視覺風格及系統 UI 相呼應。 |
compose.runtime | Compose 的程式設計模型和狀態管理的基礎建構組塊,以及 Compose 編譯器外掛程式的目標核心執行階段。 |
compose.ui | 用於和裝置互動的組合使用者介面的基礎元件,包括版面配置、繪圖和輸入。 |
concurrent | 使用協同程式將工作移出主執行緒,並充分運用 ListenableFuture。 |
constraintlayout | 使用相對定位靈活調整位置和大小。 |
contentpager | 在背景執行緒中跨 ContentProvider 資料進行載入和分頁。 |
coordinatorlayout | 定位頂層應用程式小工具,例如 AppBarLayout 和 FloatingActionButton。 |
core | 以最新的平台功能和 API 為目標,同時支援舊裝置。 |
cursoradapter | 將遊標資料公開至 ListView 小工具。 |
customview | 導入自訂檢視畫面。 |
datastore | 以非同步且一致的交易式方式儲存資料,以克服 SharedPreferences 的一些缺點 |
documentfile | 查看檔案文件。 |
draganddrop | 接受來自其他應用程式或相同應用程式的拖放資料,並顯示一致的放下目標能供性。 |
drawerlayout | 實作 Material Design 導覽匣小工具。 |
dynamicanimation | 使用以物理為基礎的動畫 API 建立流暢動畫。 |
emoji | 在目前裝置和舊裝置上顯示表情符號。 |
emoji2 | 在目前裝置和舊裝置上顯示表情符號。 |
enterprise | 建立可供企業直接使用的應用程式。 |
exifinterface | 讀取及寫入圖片檔 EXIF 標記。 |
games | 在應用程式中使用原生 Android Game SDK 執行複雜的遊戲工作,例如 Frame Pacing。 |
glance | 使用 Jetpack Compose 樣式 API 組建遠端顯示的版面配置 |
gridlayout | 實作格線版面配置。 |
health | 建立跨平台的高效健康應用程式。 |
heifwriter | 使用 Android 裝置可用的轉碼器,以 HEIF 格式編碼圖片或圖片集合。 |
interpolator | 在舊平台上使用動畫內插器。 |
jetifier | 這個獨立工具可將程式庫的依附元件,從已淘汰的支援程式庫遷移至對等的 AndroidX 依附元件。 |
leanback | 使用適合用方向鍵操作的小工具和範本片段編寫 Android TV 裝置的應用程式。 |
legacy | 這個構件和其類別已淘汰。自 Android 8 版本開始,由於背景檢查限制的因素,這個類別不再適用。 |
loader | 載入在設定變更後仍然有效的使用者介面資料。 |
localbroadcastmanager | 這個構件和其類別已淘汰。請改用回應串流。 |
media | 和其他應用程式共用媒體內容和控制項。已由 media2 取代。 |
media2 | 和其他應用程式共用媒體內容和控制項。 |
media3 * | 媒體使用案例的支援程式庫。 |
mediarouter | 透過常用使用者介面,在遠端接收器裝置上啟用媒體顯示和播放功能。 |
multidex | 在搭載 Android 5 之前版本的裝置上部署含有多個 dex 檔案的應用程式。 |
metrics | 追蹤及回報應用程式的各種執行階段指標 |
palette | 擷取圖片中具有代表性的調色盤。 |
percentlayout | 這個構件和其類別已淘汰。請改用 ConstraintLayout 和關聯的版面配置。 |
preference | 建立互動式設定畫面,從而不需要和裝置儲存空間互動或者管理使用者介面。 |
從應用程式列印相片、文件和其他圖形和圖片。 | |
profileinstaller | 可讓程式庫預先填入預先編譯追蹤記錄,以便 ART 讀取。 |
recommendation | 將內容升級為 Android TV 啟動器的主畫面。 |
recyclerview | 在使用者介面中顯示大量資料集,同時盡可能減少記憶體用量。 |
remotecallback | 建立包裝函式,以便開發人員更輕鬆地提供 PendingIntent。 |
resourceinspection | 在 Android Studio 即時版面配置檢查器中,顯示自訂檢視屬性。 |
savedstate | 編寫插入式元件,可在程序停止執行時儲存使用者介面狀態,並在程序重新啟動時還原。 |
security | 對金鑰進行安全管理,對檔案和共用偏好設定進行加密。 |
sharetarget | 提供回溯相容性,以便使用捷徑做為直接分享目標。 |
slice | 顯示應用程式外部的範本式使用者介面元素。 |
slidingpanelayout | 實作滑動窗格使用者介面模式。 |
startup | 實作可在應用程式啟動時簡單高效初始化元件的方式。 |
sqlite | 使用本機 SQLite 資料庫。如果可以,請改用 Room。 |
swiperefreshlayout | 導入滑動重新整理 UI 模式。 |
textclassifier | 識別文字中的對話、連結、選項和其他類似結構。 |
tracing | 將追蹤記錄事件寫入系統追蹤緩衝區。 |
transition | 使用開始和結束版面配置為使用者介面動作製作動畫。 |
tvprovider | 提供 Android TV 頻道。 |
vectordrawable | 算繪向量圖形。 |
versionedparcelable | 提供穩定且精簡二進位序列化格式,而且能夠在程序之間傳遞或安全地保存。 |
viewpager | 以可滑動格式顯示檢視畫面或片段。如果可以,請改用 viewpager2。 |
viewpager2 | 以可滑動格式顯示檢視畫面或片段。 |
wear | 建立 Wear OS by Google 智慧型手錶適用的應用程式。 |
wear.compose | 編寫穿戴式裝置適用的 Jetpack Compose 應用程式,方法為透過提供功能以支援穿戴式特定裝置、大小、形狀和導航手勢。 |
wear.tiles | 建立 Wear OS by Google 智慧型手錶適用的應用程式。 |
wear.watchface | 建立 Wear OS by Google 智慧型手錶適用的應用程式。 |
webkit | 在 Android 5 以上版本上使用新型 WebView API。 |
window | 協助支援不同的裝置板型規格,例如折疊式裝置。 |
新功能
- Compose 1.1.1
- 加入 Android 12 過度捲動效果、改善觸控目標大小、導覽邊欄,並讓多個先前的實驗性 API 穩定運作。