Android Support 庫各版本功能介紹

技術特工隊發表於2017-11-14

想第一時間獲取我的最新文章,請關注公眾號: 技術特工隊

Android 支援庫軟體有多個庫,每個庫均支援特定範圍的 Android 平臺版本和功能。像大家比較熟悉的 v4 、v7、 v13、v14 等。下面將分別介紹下各個庫版本所相容或帶來的功能有哪些?

v4 支援庫

v4庫旨在與 Android 2.3(API 級別 9)及更高版本搭配使用。與其他支援庫相比,它們包含的 API 集合最大,包括對應用元件、使用者介面功能、輔助功能、資料處理、網路連線以及程式設計實用工具的支援。

注:在支援庫修訂版 24.2.0 之前,存在一個 v4 支援庫。為了提高效率,此庫拆分成多個模組。出於向後相容的考慮,如果您在 Gradle 指令碼中列出了 support-v4,您的 APK 將包含所有的 v4 模組。不過,要減少 APK 大小,我們建議僅列出應用需要的特定模組。

v4 compat 庫

此為眾多框架 API 提供相容性包裝器,例如 Context.obtainDrawable() 和 View.performAccessibilityAction()

此庫的 Gradle 構建指令碼依賴關係識別符號如下所示:

com.android.support:support-compat:24.2.0複製程式碼

v4 core-utils 庫

提供大量實用程式類,例如 AsyncTaskLoader 和 PermissionChecker。

此庫的 Gradle 構建指令碼依賴關係識別符號如下所示:

com.android.support:support-core-utils:24.2.0複製程式碼

v4 core-ui 庫

實現各種 UI 相關元件,例如 ViewPager、NestedScrollView 和 ExploreByTouchHelper。

此庫的 Gradle 構建指令碼依賴關係識別符號如下所示:

com.android.support:support-core-ui:24.2.0複製程式碼

v4 media-compat 庫

向後移植部分媒體框架,包括 MediaBrowser 和 MediaSession。

此庫的 Gradle 構建指令碼依賴關係識別符號如下所示:

com.android.support:support-media-compat:24.2.0複製程式碼

v4 fragment 庫

新增對使用片段封裝使用者介面和功能的支援,從而使應用能夠提供可以在大螢幕裝置與小螢幕裝置之間進行調節的佈局。此模組依賴於 compat、core-utils、core-ui 和 media-compat。

此庫的 Gradle 構建指令碼依賴關係識別符號如下所示:

com.android.support:support-fragment:24.2.0複製程式碼

Dalvik 可執行檔案分包支援庫

此庫可以為使用多個 Dalvik Executable (DEX) 檔案開發應用提供支援。引用超過 65536 個方法的應用須使用 Dalvik 可執行檔案分包配置。如需瞭解有關使用 Dalvik 可執行檔案分包的詳細資訊,請參閱使用超過 6.4 萬種方法開發應用。

此庫的 Gradle 構建指令碼依賴關係識別符號如下所示:

com.android.support:multidex:1.0.0複製程式碼

v7 支援庫

一些庫旨在與 Android 2.3(API 級別 9)及更高版本搭配使用。這些庫提供了特定的功能集,並且可以單獨新增到應用中,與其他庫互不影響。

v7 appcompat 庫

此庫新增了對操作欄使用者介面設計模式的支援。此庫包含對 Material Design 使用者介面實現的支援。

注:此庫依賴於 v4 支援庫。

下面是 v7 appcompat 庫中包含的一些關鍵類:

  • ActionBar - 提供操作欄使用者介面模式的實現。如需瞭解有關使用操作欄的詳細資訊,請參閱操作欄開發者指南。
  • AppCompatActivity - 新增一個應用 Activity 類,此類可作為使用支援庫操作欄實現的 Activity 的基礎類。
  • AppCompatDialog - 新增一個對話方塊類,此類可作為 AppCompat 主題對話方塊的基礎類。
  • ShareActionProvider - 包含對可以新增到操作欄中的標準化分享操作(例如電子郵件或發帖至社交應用)的支援。
    此庫的 Gradle 構建指令碼依賴關係識別符號如下所示:
    com.android.support:appcompat-v7:24.2.0複製程式碼

v7 cardview 庫

此庫新增了對 CardView 小部件的支援,讓您能夠在卡片內顯示資訊,從而使應用具備一致的外觀。這些卡片對 Material Design 實現非常有用,並在電視應用佈局中廣為使用。

此庫的 Gradle 構建指令碼依賴關係識別符號如下所示:

com.android.support:cardview-v7:24.2.0複製程式碼

v7 gridlayout 庫

下載 Android 支援庫後,此庫可以新增對 GridLayout 類的支援,讓您能夠使用網狀方格安排使用者介面元素。如需瞭解有關 v7 gridlayout 庫 API 的詳細資訊,請參閱 API 參考中的 android.support.v7.widget 軟體包。

此庫的 Gradle 構建指令碼依賴關係識別符號如下所示:

com.android.support:gridlayout-v7:24.2.0複製程式碼

v7 mediarouter 庫

此庫可以提供 MediaRouter、MediaRouteProvider 和支援 Google Cast 的相關媒體類。

一般而言,利用 v7 mediarouter 庫中的 API,您可以控制當前裝置到外部螢幕、揚聲器和其他目標裝置的媒體渠道和流的路由。此庫包含的 API 可以用於釋出應用特定的媒體路由提供程式、發現和選擇目標裝置,以及檢查媒體狀態,等等。如需瞭解有關 v7 mediarouter 庫 API 的詳細資訊,請參閱 API 參考中的 android.support.v7.media 軟體包。

此庫的 Gradle 構建指令碼依賴關係識別符號如下所示:

com.android.support:mediarouter-v7:24.2.0複製程式碼

支援庫 r18 中引入的 v7 mediarouter 庫 API 在後續版本的支援庫中可能會發生更改。目前,我們建議僅使用與 Google Cast 有關的庫。

v7 palette 庫

v7 palette 支援庫包含 Palette 類,此類讓您可以從影像中抽取突出顏色。例如,音樂應用可以使用 Palette 物件從專輯封面抽取主要顏色,然後使用這些顏色建立一個色彩協調的歌曲標題卡。

此庫的 Gradle 構建指令碼依賴關係識別符號如下所示:

com.android.support:palette-v7:24.2.0複製程式碼

v7 recyclerview 庫

recyclerview 庫新增了 RecyclerView 類。此類能夠為 RecyclerView 小部件提供支援,RecyclerView 是一種通過提供有限的資料項視窗有效顯示大資料集的檢視。

此庫的 Gradle 構建指令碼依賴關係識別符號如下所示:

com.android.support:recyclerview-v7:24.2.0複製程式碼

####v7 Preference 支援庫
首選項軟體包提供的 API 支援新增 preference 物件(例如 CheckBoxPreference 和 ListPreference),方便使用者修改 UI 設定。

v7 Preference 庫新增了對介面(例如 Preference.OnPreferenceChangeListener 和 Preference.OnPreferenceClickListener)以及類(例如 CheckBoxPreference 和 ListPreference)的支援。

此庫的 Gradle 構建指令碼依賴關係識別符號如下所示:

com.android.support:preference-v7:24.2.0複製程式碼

v8 支援庫

此庫旨在與 Android 2.3(API 級別 9)及更高版本搭配使用。此庫提供了特定的功能集,並且可以單獨新增到應用中,與其他庫互不影響。

v8 renderscript 庫

此庫旨在與 Android 2.3(API 級別 9)及更高版本搭配使用。它新增了對 RenderScript 計算框架的支援。android.support.v8.renderscript 軟體包中包含這些 API。請注意,在應用中新增這些 API 的步驟與新增其他支援庫 API 迥然不同。如需瞭解有關在應用中使用這些 API 的詳細資訊,請參閱 RenderScript 開發者指南。

注:Android Studio 和 Gradle 構建支援使用帶支援庫的 RenderScript。renderscript 庫位於 build-tools/$VERSION/renderscript/ 資料夾中。

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

defaultConfig {
    renderscriptTargetApi 18
    renderscriptSupportModeEnabled true
}複製程式碼

v13 支援庫

此庫旨在用於 Android 3.2(API 級別 13)及更高版本。它新增了對帶有 (FragmentCompat) 類和其他片段支援類的 Fragment 使用者介面模式的支援。如需瞭解有關片段的詳細資訊,請參閱片段開發者指南。如需瞭解有關 v13 支援庫 API 的詳細資訊,請參閱 API 參考中的 android.support.v13 軟體包。

此庫的 Gradle 構建指令碼依賴關係識別符號如下所示:

com.android.support:support-v13:24.2.0複製程式碼

v14 Preference 支援庫

android.support.v14.preference 軟體包提供的 API 新增了對首選項介面(例如 PreferenceFragment.OnPreferenceStartFragmentCallback 和 PreferenceFragment.OnPreferenceStartScreenCallback)以及類(例如 MultiSelectListPreference 和 PreferenceFragment)的支援。如需瞭解有關 v14 Preference 支援庫 API 的詳細資訊,請參閱 API 參考中的首選項軟體包。

此庫的 Gradle 構建指令碼依賴關係識別符號如下所示:

com.android.support:preference-v14:24.2.0複製程式碼

適用於電視的 v17 Preference 支援庫

android.support.v17.preference 軟體包提供的 API 可以在電視裝置上提供首選項介面,包括對 LeanbackListPreferenceDialogFragment.ViewHolder.OnItemClickListener 介面和類的支援,例如 BaseLeanbackPreferenceFragment 和 LeanbackPreferenceFragment。如需瞭解有關 v17 Preference 支援庫 API 的詳細資訊,請參閱 API 參考中的首選項軟體包。

此庫的 Gradle 構建指令碼依賴關係識別符號如下所示:

com.android.support:preference-leanback-v17:24.2.0複製程式碼

v17 Leanback 庫

android.support.v17.leanback 軟體包提供的 API 支援在電視裝置上構建使用者介面。它為電視應用提供了一些重要的小部件。一些值得注意的類包括:

  • BrowseFragment - 一種用於建立主要佈局的片段,主要佈局用於瀏覽類別和媒體專案。
  • DetailsFragment - 用於 Leanback 細節螢幕的包裝器片段。
  • PlaybackOverlayFragment - 用於顯示播放控制元件及相關內容的 DetailsFragment 子類。
  • SearchFragment - 用於處理搜尋的片段。片段可以接收使用者的搜尋請求並將其傳遞給應用提供的 SearchResultProvider。SearchResultProvider 可以將搜尋結果返回給 SearchFragment,後者會將結果渲染到 RowsFragment 中。

此庫的 Gradle 構建指令碼依賴關係識別符號如下所示:

com.android.support:leanback-v17:24.2.0複製程式碼

註解支援庫

註解軟體包提供的 API 支援嚮應用中新增註解後設資料。

此庫的 Gradle 構建指令碼依賴關係識別符號如下所示:

com.android.support:support-annotations:24.2.0複製程式碼

設計支援庫

設計軟體包提供的 API 支援嚮應用中新增 Material Design 元件和模式。

設計支援庫新增了對應用開發者依賴的各種 Material Design 元件和模式的支援,例如抽屜式導航欄、浮動操作按鈕 (FAB)、快捷資訊欄和標籤頁。

此庫的 Gradle 構建指令碼依賴關係識別符號如下所示:

com.android.support:design:24.2.0複製程式碼

自定義標籤頁支援庫

自定義標籤頁軟體包提供的 API 支援嚮應用中新增自定義標籤頁並對其進行管理。

自定義標籤頁支援庫新增了對自定義標籤頁服務和自定義標籤頁回撥等各種類的支援。

此庫的 Gradle 構建指令碼依賴關係識別符號如下所示:

com.android.support:customtabs:24.2.0複製程式碼

百分比支援庫

百分比軟體包提供的 API 支援嚮應用中新增基於百分比的尺寸並對其進行管理。

百分比支援庫新增了對 PercentLayoutHelper.PercentLayoutParams 介面和各種類的支援,例如 PercentFrameLayout 和 PercentRelativeLayout。

此庫的 Gradle 構建指令碼依賴關係識別符號如下所示:

com.android.support:percent:24.2.0複製程式碼

適用於電視的應用建議支援庫

應用建議軟體包提供的 API 支援向電視裝置上執行的應用中新增內容建議。

應用庫新增了對註解(例如 ContentRecommendation.ContentMaturity 和各種類(例如 ContentRecommendation 和 RecommendationExtender)的支援。

此庫的 Gradle 構建指令碼依賴關係識別符號如下所示:

com.android.support:recommendation:24.2.0複製程式碼

看完上面的介紹,是不是對 Google 這些 Support 庫 有了更全面的瞭解以及各版本之間的區別。如果希望就分享出去讓更多的人知道吧。

想第一時間獲取我的最新文章,請關注公眾號: 技術特工隊

相關文章