注意:隨著支援資料庫 28.0.0 版發布,android.support
套件程式庫已淘汰,並由個別版本的 Jetpack 程式庫取代,這些程式庫會封裝為 androidx
。Jetpack 程式庫的初始 1.0.0 版本與支援資料庫 28.0.0 版功能相同,並提供遷移至新 androidx
套件的起點。
現有的 android.support
套件程式庫仍可運作,但不會收到 28.0.0 之後的任何更新,且與新的 Jetpack 程式庫不相容。
Google Maven 仍會提供舊版構件 (版本 27 以前,且封裝為 android.support
)。所有新構件都會封裝為 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 程式庫
提供多個公用程式類別,例如 AsyncTaskLoader
和 PermissionChecker
。
這個程式庫的 Gradle 建構指令碼依附元件 ID 如下:
com.android.support:support-core-utils:28.0.0
v4 core-ui 程式庫
實作各種 UI 相關元件,例如 ViewPager
、NestedScrollView
和 ExploreByTouchHelper
。
這個程式庫的 Gradle 建構指令碼依附元件 ID 如下:
com.android.support:support-core-ui:28.0.0
v4 媒體相容性程式庫
回溯移植媒體架構的部分內容,包括 MediaBrowser
和 MediaSession
。
這個程式庫的 Gradle 建構指令碼依附元件 ID 如下:
com.android.support:support-media-compat:28.0.0
v4 片段程式庫
新增對使用者介面和功能封裝的支援,可使用片段,讓應用程式提供可調整大小螢幕裝置的版面配置。這個模組依附於 compat、core-utils、core-ui 和 media-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,請參閱「 建構參照超過 65, 000 個方法的應用程式」。
這個程式庫的 Gradle 建構指令碼依附元件 ID 如下:
com.android.support:multidex:1.0.0
v7 支援資料庫
這些程式庫提供特定功能集,可獨立納入應用程式。
v7 appcompat 程式庫 Android Jetpack 的一部分。
注意:appcompat 程式庫已遷移至 AndroidX 程式庫,這是 Android Jetpack 元件。如要查看實際使用情況,請參閱 Sunflower 試用版應用程式。
這個程式庫會新增對動作列使用者介面設計模式的支援。這個程式庫支援質感設計使用者介面實作。
注意: 這個程式庫依附於 v4 支援程式庫。
以下列舉 v7 appcompat 程式庫中的幾個主要類別:
ActionBar
- 提供動作列使用者介面模式的實作方式。如要進一步瞭解如何使用動作列,請參閱動作列開發人員指南。AppCompatActivity
- 新增應用程式活動類別,可做為使用支援資料庫動作列實作項目的活動基本類別。AppCompatDialog
- 新增對話方塊類別,可做為 AppCompat 主題式對話方塊的基礎類別。ShareActionProvider
- 新增對標準化分享動作 (例如電子郵件或發布至社群應用程式) 的支援,可納入動作列。
這個程式庫的 Gradle 建構指令碼依附元件 ID 如下:
com.android.support:appcompat-v7:28.0.0
v7 cardview 程式庫
這個程式庫新增了 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 程式庫
這個程式庫提供 MediaRouter
、MediaRouteProvider
和相關媒體類別,支援 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
v7 偏好設定支援資料庫
preference 套件提供 API,支援新增偏好設定物件 (例如 CheckBoxPreference
和 ListPreference
),供使用者修改 UI 設定。
v7 偏好設定程式庫新增了介面支援,例如 Preference.OnPreferenceChangeListener
和 Preference.OnPreferenceClickListener
,以及類別,例如 CheckBoxPreference
和 ListPreference
。
這個程式庫的 Gradle 建構指令碼依附元件 ID 如下:
com.android.support:preference-v7:28.0.0
v8 支援資料庫
這個程式庫提供特定功能集,可獨立於其他程式庫納入應用程式。
v8 renderscript 程式庫
這個程式庫新增了 RenderScript 運算架構的支援。這些 API 包含在 android.support.v8.renderscript
套件中。請注意,在應用程式中加入這些 API 的步驟與其他支援程式庫 API 大不相同。如要進一步瞭解如何在應用程式中使用這些 API,請參閱 RenderScript 開發人員指南。
注意:Android Studio 和以 Gradle 為基礎的建構作業,都支援搭配支援資料庫使用 RenderScript。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
v14 偏好設定支援資料庫
android.support.v14.preference
套件提供 API,可新增偏好設定介面 (例如 PreferenceFragment.OnPreferenceStartFragmentCallback
和 PreferenceFragment.OnPreferenceStartScreenCallback
) 的支援功能,以及 MultiSelectListPreference
和 PreferenceFragment
等類別。如要詳細瞭解 v14 Preference Support Library API,請參閱 API 參考資料中的 preference 套件。
這個程式庫的 Gradle 建構指令碼依附元件 ID 如下:
com.android.support:preference-v14:28.0.0
適用於 TV 的 v17 偏好設定支援資料庫
android.support.v17.preference
套件提供 API,可在電視裝置上提供偏好設定介面,包括支援 LeanbackListPreferenceDialogFragment.ViewHolder.OnItemClickListener
介面和類別,例如 BaseLeanbackPreferenceFragment
和 LeanbackPreferenceFragment
。如要詳細瞭解 v17 Preference Support Library API,請參閱 API 參考資料中的 preference 套件。
這個套件需要 API 級別 17 以上版本。這個程式庫的 Gradle 建構指令碼依附元件 ID 如下:
com.android.support:preference-leanback-v17:28.0.0
v17 Leanback 程式庫
android.support.v17.leanback
套件提供 API,支援在電視裝置上建構使用者介面。並為電視應用程式提供多個重要的小工具。值得注意的類別包括:
BrowseFragment
- 用於建立主要版面配置的片段,可瀏覽類別和媒體項目列。DetailsFragment
- Leanback 詳細資料畫面的包裝函式片段。PlaybackOverlayFragment
-DetailsFragment
的子類別,用於顯示播放控制項和相關內容。SearchFragment
- 用於處理搜尋的片段。這個片段會收到使用者的搜尋要求,並傳遞至應用程式提供的SearchResultProvider
。SearchResultProvider
會將搜尋結果傳回給SearchFragment
,後者會將結果算繪為RowsFragment
。
這個套件需要 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
註解支援資料庫
註解套件提供 API,支援在應用程式中新增註解中繼資料。
這個程式庫的 Gradle 建構指令碼依附元件 ID 如下:
com.android.support:support-annotations:28.0.0
Design 支援資料庫
設計套件提供 API,可支援在應用程式中新增 Material Design 元件和模式。
設計支援資料庫新增了各種 Material Design 元件和模式,供應用程式開發人員使用,例如導覽匣、懸浮動作按鈕 (FAB)、SnackBar 和分頁。
這個程式庫的 Gradle 建構指令碼依附元件 ID 如下:
com.android.support:design:28.0.0
Custom Tabs 支援資料庫
自訂分頁套件提供 API,可支援在應用程式中新增及管理自訂分頁。
自訂分頁支援程式庫新增了對各種類別的支援,例如「自訂分頁服務」和「自訂分頁回呼」。
這個套件需要 API 級別 15 以上版本。這個程式庫的 Gradle 建構指令碼依附元件 ID 如下:
com.android.support:customtabs:28.0.0
百分比支援資料庫
百分比套件提供 API,可支援在應用程式中新增及管理以百分比為準的尺寸。
注意:自 26.0.0 版起,百分比支援程式庫已遭淘汰。
這個模組的用戶端應遷移至新的 ConstraintLayout
小工具,該小工具在 SDK 管理工具中以獨立構件的形式提供。
百分比支援資料庫會新增對 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
電視專用的應用程式推薦支援資料庫
AppRecommendation 套件提供 API,可支援在電視裝置上執行的應用程式中新增內容建議。
應用程式程式庫新增註解支援,例如 ContentRecommendation.ContentMaturity,以及各種類別,例如 ContentRecommendation 和 RecommendationExtender。
這個套件需要 API 級別 21 以上版本。這個程式庫的 Gradle 建構指令碼依附元件 ID 如下:
com.android.support:recommendation:28.0.0
Wear UI 程式庫
這個程式庫提供 API,可為 Wear 應用程式建構使用者介面。這些 API 位於 android.support.wear.widget 套件中,可取代穿戴式裝置支援資料庫中的對應 API。
詳情請參閱「 使用 Wear UI 程式庫」。
這個程式庫的 Gradle 建構指令碼依附元件 ID 如下:
com.android.support:wear:28.0.0