支援資料庫套件

注意:隨著支援資料庫 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 程式庫

回溯部分媒體架構,包括 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 使用者介面設計模式的支援。這個程式庫支援 Material Design 使用者介面實作。

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

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

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

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

com.android.support:appcompat-v7:28.0.0

v7 卡片檢視程式庫

這個程式庫新增了對 CardView 小工具的支援,可讓您在任何應用程式中顯示樣式一致的資訊卡。這些資訊卡可用於 Material Design 實作,並廣泛用於 TV 應用程式的版面配置。

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

com.android.support:cardview-v7:28.0.0

v7 GridLayout 程式庫

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

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

com.android.support:gridlayout-v7:28.0.0

v7 mediarouter 程式庫

這個程式庫提供支援 Google CastMediaRouterMediaRouteProvider 和相關媒體類別。

一般來說,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 使用者介面模式新增支援功能。如要進一步瞭解片段,請參閱「Fragments」開發人員指南。如要進一步瞭解 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 程式庫新增了對各種 Material Design 元件和模式的支援,供應用程式開發人員建構,例如導覽匣、懸浮動作按鈕 (FAB)、快訊列和分頁

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

com.android.support:design:28.0.0

自訂分頁支援資料庫

Custom Tabs 套件提供 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 和原始 (DNG、CR2、NEF、NRW、ARW、RW2、ORF、PEF、SRW 和 RAF) 格式的檔案讀取 Exif 資訊,以及在 JPEG 圖片檔案上設定 Exif 資訊。

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

com.android.support:exifinterface:28.0.0

電視應用程式推薦支援程式庫

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

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

此套件需要 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