支援資料庫套件

注意:隨著支援資料庫 28.0.0 版發布,android.support 封裝的程式庫已淘汰,並由個別版本的 Jetpack 程式庫取代,這些程式庫已封裝為 androidx。Jetpack 程式庫的初始 1.0.0 版本與支援資料庫 28.0.0 相容,並提供遷移至新的 androidx 封裝作業的起點。

現有的 android.support 封裝程式庫會繼續運作,但無法接收 28.0.0 以後的更新,也無法與新的 Jetpack 程式庫相容。歷史記錄構件 (版本為 27 以下,且以 android.support 封裝) 仍會保留在 Google Maven 上。所有新構件都會以 androidx 封裝,並需要從 android.support 遷移androidx

建議您在所有新專案中使用 androidx 程式庫。您也應考慮遷移現有專案,確保這些專案能繼續接收錯誤修正和其他程式庫改善項目。

Android 支援資料庫包含可納入應用程式的多個程式庫套件。每個程式庫都支援特定範圍的 Android 平台版本和功能組合。

如要使用下列任何程式庫,您必須將程式庫檔案下載至 Android SDK 安裝位置。按照支援資料庫設定中的操作說明下載支援資料庫,完成這個步驟。您必須採取額外步驟,才能在應用程式中加入特定支援程式庫。如需有關如何在應用程式中加入程式庫的重要資訊,請參閱下方各個程式庫部分的結尾。

注意:所有支援程式庫套件的最低 SDK 版本至少為 API 級別 14。部分套件需要更高的 API 級別,如下所示。

v4 支援資料庫

與其他程式庫相比,這些程式庫包含最多的 API 集合,包括應用程式元件、使用者介面功能、無障礙功能、資料處理、網路連線和程式設計公用程式。

如要進一步瞭解 v4 支援程式庫提供的類別和方法,請參閱 API 參考資料中的 android.support.v4 套件。

注意:在支援資料庫 24.2.0 修訂版本之前,只有一個 v4 支援資料庫。該程式庫已劃分為多個模組,以提升效率。為確保向後相容性,如果您在 Gradle 指令碼中列出 support-v4,應用程式就會納入所有 v4 模組。不過,為縮減應用程式大小,建議您只列出應用程式需要的特定模組。

v4 相容性程式庫

為許多架構 API 提供相容性包裝函式,例如 Context.obtainDrawable()View.performAccessibilityAction()

這個程式庫的 Gradle 建構指令碼依附元件 ID 如下所示:

com.android.support:support-compat:28.0.0

v4 Core-utils 程式庫

提供多個公用程式類別,例如 AsyncTaskLoaderPermissionChecker

這個程式庫的 Gradle 建構指令碼依附元件 ID 如下:

com.android.support:support-core-utils:28.0.0

v4 core-ui 程式庫

實作各種 UI 相關元件,例如 ViewPagerNestedScrollViewExploreByTouchHelper

這個程式庫的 Gradle 建構指令碼依附元件 ID 如下所示:

com.android.support:support-core-ui:28.0.0

v4 media-compat 程式庫

media 架構的部分內容回移至舊版,包括 MediaBrowserMediaSession

這個程式庫的 Gradle 建構指令碼依附元件 ID 如下所示:

com.android.support:support-media-compat:28.0.0

v4 片段程式庫

新增支援使用區塊封裝使用者介面和功能,讓應用程式提供可在小螢幕和大螢幕裝置之間調整的版面配置。這個模組具有 compatcore-utilscore-uimedia-compat 的依附元件。

注意:v13 支援資料庫提供 FragmentCompat 類別。v4 Fragment 類別是獨立類別,提供後續平台版本中新增的錯誤修正,而 v13 FragmentCompat 類別則為 Fragment 類別的架構實作提供相容性墊片。

這個程式庫的 Gradle 建構指令碼依附元件 ID 如下:

com.android.support:support-fragment:28.0.0

Multidex 支援資料庫

這個程式庫支援使用多個 Dalvik Executable (DEX) 檔案建構應用程式。參照超過 65536 個方法的應用程式必須使用 Multidex 設定。如要進一步瞭解如何使用 Multidex,請參閱「 建置參照超過 64K 方法的應用程式」。

這個程式庫的 Gradle 建構指令碼依附元件 ID 如下所示:

com.android.support:multidex:1.0.0

v7 支援資料庫

這些程式庫提供特定的功能集,可以獨立納入應用程式中。

v7 appcompat 程式庫   Android Jetpack 的一部分。

注意:appcompat 程式庫已遷移至 AndroidX 程式庫,這是 Android Jetpack 元件。請參閱 Sunflower 試用版應用程式中的實際使用情況。

這個程式庫會新增對 Action Bar 使用者介面設計模式的支援。這個程式庫支援質感設計使用者介面實作。

注意:這個程式庫依附於 v4 支援資料庫。

以下是 v7 appcompat 程式庫中包含的幾個主要類別:

  • ActionBar - 提供動作列使用者介面模式的實作項目。如要進一步瞭解如何使用 Action Bar,請參閱 Action Bar 開發人員指南。
  • AppCompatActivity - 新增應用程式活動類別,可用於使用支援資料庫動作列實作的活動,做為基本類別。
  • AppCompatDialog:新增可用於 AppCompat 主題式對話方塊的對話方塊類別,做為基礎類別。
  • ShareActionProvider - 新增對標準化分享動作的支援,例如電子郵件或在社交應用程式中發布內容,這些動作可納入動作列。

這個程式庫的 Gradle 建構指令碼依附元件 ID 如下所示:

com.android.support:appcompat-v7:28.0.0

第 7 版 cardview 程式庫

這個程式庫新增了對 CardView 小工具的支援,讓資訊卡內的資訊在任何應用程式上都能呈現一致的外觀。這些資訊卡很適合用於質感設計實作,並且廣泛用於電視應用程式的版面配置。

這個程式庫的 Gradle 建構指令碼依附元件 ID 如下:

com.android.support:cardview-v7:28.0.0

v7 GridLayout 程式庫

下載 Android 支援資料庫後,這個程式庫會新增對 GridLayout 類別的支援,讓您可以使用矩形儲存格格線排列使用者介面元素。如要進一步瞭解 v7 格線版面配置程式庫 API,請參閱 API 參考資料中的 android.support.v7.widget 套件。

這個程式庫的 Gradle 建構指令碼依附元件 ID 如下所示:

com.android.support:gridlayout-v7:28.0.0

v7 mediarouter 程式庫

這個程式庫提供 MediaRouterMediaRouteProvider 以及支援 Google Cast 的相關媒體類別。

一般來說,v7 mediarouter 程式庫中的 API 可用於控制媒體管道和串流從目前裝置路由至外部螢幕、喇叭和其他目的地裝置。這個程式庫包含 API,可用於發布應用程式專屬媒體路徑供應器、探索及選取目的地裝置、檢查媒體狀態等。如要進一步瞭解 v7 mediarouter 程式庫 API,請參閱 API 參考資料中的 android.support.v7.media 套件。

這個程式庫的 Gradle 建構指令碼依附元件 ID 如下所示:

com.android.support:mediarouter-v7:28.0.0

在支援資料庫 r18 中推出的 v7 mediarouter 程式庫 API 可能會在支援資料庫的後續修訂版中有所變更。目前,我們建議您只在與 Google Cast 連線時使用這個程式庫。

v7 調色盤程式庫

v7 調色盤支援程式庫包含 Palette 類別,可讓您從圖片中擷取醒目顯示色彩。舉例來說,音樂應用程式可以使用 Palette 物件從專輯封面擷取主要顏色,並使用這些顏色建構色彩協調的歌曲標題卡。

這個程式庫的 Gradle 建構指令碼依附元件 ID 如下:

com.android.support:palette-v7:28.0.0

v7 recyclerview 程式庫

recyclerview 程式庫會新增 RecyclerView 類別。這個類別支援 RecyclerView 小工具,這是一種檢視畫面,可提供有限的資料項目視窗,以便有效率地顯示大型資料集。

這個程式庫的 Gradle 建構指令碼依附元件 ID 如下:

com.android.support:recyclerview-v7:28.0.0

Preference 支援資料庫 v7

preference 套件提供 API,可支援新增偏好設定物件 (例如 CheckBoxPreferenceListPreference),讓使用者修改 UI 設定。

v7 偏好設定程式庫新增了對介面 (例如 Preference.OnPreferenceChangeListenerPreference.OnPreferenceClickListener) 和類別 (例如 CheckBoxPreferenceListPreference) 的支援。

這個程式庫的 Gradle 建構指令碼依附元件 ID 如下所示:

com.android.support:preference-v7:28.0.0

v8 支援資料庫

這個程式庫提供特定功能組合,可獨立於其他程式庫納入應用程式。

v8 轉譯程式庫

這個程式庫新增了對 RenderScript 運算架構的支援。這些 API 包含在 android.support.v8.renderscript 套件中。請注意,在應用程式中加入這些 API 的步驟與其他支援程式庫 API 截然不同。如要進一步瞭解如何在應用程式中使用這些 API,請參閱 RenderScript 開發人員指南。

注意:Android Studio 和以 Gradle 為基礎的版本支援使用 RenderScript 搭配支援資料庫。轉譯腳本程式庫位於 build-tools/$VERSION/renderscript/ 資料夾中。

以下範例顯示此程式庫的 Gradle 建構指令碼屬性:

defaultConfig {
    renderscriptTargetApi 18
    renderscriptSupportModeEnabled true
}

v13 版支援資料庫

這個程式庫會透過 (FragmentCompat) 類別和其他片段支援類別,為 Fragment 使用者介面模式新增支援功能。如要進一步瞭解片段,請參閱「片段」開發人員指南。如要進一步瞭解 v13 支援程式庫 API,請參閱 API 參考資料中的 android.support.v13 套件。

注意:v4 片段程式庫提供 Fragment 類別。v4 Fragment 類別是獨立類別,提供後續平台版本中新增的錯誤修正,而 v13 FragmentCompat 類別則為 Fragment 類別的架構實作提供相容性墊片。

這個程式庫的 Gradle 建構指令碼依附元件 ID 如下所示:

com.android.support:support-v13:28.0.0

Preference 支援資料庫 v14

android.support.v14.preference 套件提供的 API 支援 PreferenceFragment.OnPreferenceStartFragmentCallbackPreferenceFragment.OnPreferenceStartScreenCallback 等偏好設定介面,以及 MultiSelectListPreferencePreferenceFragment 等類別。如要進一步瞭解 v14 偏好設定支援資料庫 API,請參閱 API 參考資料中的 preference 套件。

這個程式庫的 Gradle 建構指令碼依附元件 ID 如下:

com.android.support:preference-v14:28.0.0

適用於電視的 v17 偏好設定支援資料庫

android.support.v17.preference 套件提供 API,可在電視裝置上提供偏好設定介面,包括支援 LeanbackListPreferenceDialogFragment.ViewHolder.OnItemClickListener 介面和類別,例如 BaseLeanbackPreferenceFragmentLeanbackPreferenceFragment。如要進一步瞭解 v17 偏好設定支援程式庫 API,請參閱 API 參考資料中的 preference 套件。

此套件需要 API 級別 17 以上版本。這個程式庫的 Gradle 建構指令碼依附元件 ID 如下所示:

 com.android.support:preference-leanback-v17:28.0.0 

v17 Leanback 程式庫

android.support.v17.leanback 套件提供 API,可支援在電視裝置上建構使用者介面。為 TV 應用程式提供多項重要小工具。其中一些重要課程包括:

此套件需要 API 級別 17 以上版本。這個程式庫的 Gradle 建構指令碼依附元件 ID 如下所示:

com.android.support:leanback-v17:28.0.0

向量可繪項目程式庫

支援靜態向量圖形。

這個程式庫的 Gradle 建構指令碼依附元件 ID 如下:

com.android.support:support-vector-drawable:28.0.0

動畫向量可繪項目程式庫

支援動畫向量圖形。

這個程式庫的 Gradle 建構指令碼依附元件 ID 如下所示:

com.android.support:animated-vector-drawable:28.0.0

註解支援資料庫

Annotation 套件提供 API,可支援在應用程式中新增註解中繼資料。

這個程式庫的 Gradle 建構指令碼依附元件 ID 如下所示:

com.android.support:support-annotations:28.0.0

設計支援資料庫

Design 套件提供 API,可支援在應用程式中新增 Material Design 元件和模式。

Design Support 程式庫新增支援各種質感設計元件和模式,供應用程式開發人員用於建構,例如導覽匣、懸浮動作按鈕 (FAB)、Snackbar 和分頁

這個程式庫的 Gradle 建構指令碼依附元件 ID 如下:

com.android.support:design:28.0.0

自訂分頁支援資料庫

自訂分頁套件提供的 API 支援在應用程式中新增及管理自訂分頁。

Custom Tabs 支援資料庫新增了對各種類別的支援,例如 Custom Tabs ServiceCustom Tabs 回呼

這個套件需要 API 級別 15 以上級別。這個程式庫的 Gradle 建構指令碼依附元件 ID 如下所示:

com.android.support:customtabs:28.0.0

百分比支援資料庫

Percent 套件提供 API,可支援在應用程式中新增及管理以百分比為單位的維度。

注意:自 26.0.0 版起,Percent Support 程式庫已淘汰。此模組的用戶端應遷移至新的 ConstraintLayout 小工具,這個小工具在 SDK Manager 中以獨立構件的形式提供。

Percent 支援資料庫新增了對 PercentLayoutHelper.PercentLayoutParams 介面和各種類別的支援,例如 PercentFrameLayout PercentRelativeLayout

這個程式庫的 Gradle 建構指令碼依附元件 ID 如下所示:

com.android.support:percent:28.0.0

ExifInterface 支援資料庫

EXIF 標記會直接在 JPEG 或 RAW 檔案中儲存方向、日期和時間、相機資訊和位置等資訊。ExifInterface 類別會拆分支援從 JPEG 和 raw (DNG、CR2、NEF、NRW、ARW、RW2、ORF、PEF、SRW 和 RAF) 格式檔案讀取 Exif 資訊,以及在 JPEG 圖片檔中設定 Exif 資訊。

這個程式庫的 Gradle 建構指令碼依附元件 ID 如下所示:

com.android.support:exifinterface:28.0.0

適用於 TV 的應用程式推薦支援程式庫

應用程式推薦套件提供 API,可支援在電視裝置上執行的應用程式中新增內容推薦。

應用程式程式庫新增對註解的支援,例如 ContentRecommendation.ContentMaturity 和各種類別,例如 ContentRecommendation Recommendation 擴大 er

此套件需要 API 級別 21 以上版本。這個程式庫的 Gradle 建構指令碼依附元件 ID 如下所示:

com.android.support:recommendation:28.0.0

Wear UI 程式庫

這個程式庫提供的 API 可用於建構 Wear 應用程式的使用者介面。 android.support.wear.widget 套件提供的 API 會取代穿戴式裝置支援資料庫中對應的 API。

詳情請參閱「 使用 Wear UI 程式庫」。

這個程式庫的 Gradle 建構指令碼依附元件 ID 如下:

com.android.support:wear:28.0.0