Android-support-v4 v7 v8 v13 v17 的区别和特性说明
前言
隨著?Android?5.0 Lollipop 的發(fā)布,Android?又為我們提供了更多的支持包,但是我相信大部分開發(fā)者都同我之前一樣不知道這些包里究竟有些什么東西,我們應該在什么時候使用它。現(xiàn)在,我們就來逐個看看每一個版本的 Support 包中所擁有的東西,讓用到他的時候不再迷茫。
?
首先,你需要了解每一個 Support 包版本后綴 vX 所代表的含義。當然我相信來看博客的諸位都一定知道 Android 對于每一個版本都有一個版本號,例如2.1是7,4.0是14,5.0是21。而這里,v 之后的數(shù)字,就代表著他能夠被使用的最低版本等級,之所以無法在更低版本進行使用的原因,是因為隨著版本的升級,在新版本中有很多之前不支持的特性或者 API,因此如果你在老版本中使用了這些支持包,就可能會導致應用崩潰。
一、區(qū)別
google提供了Android?Support Library package 系列的包來保證來高版本sdk開發(fā)的向下兼容性,即我們用4.x開發(fā)時,在1.6等版本上,可以使用高版本的有些特性,如Fragement,ViewPager等,下面,簡單說明下這幾個版本間的區(qū)別:
Android Support v4: ?這個包是為了照顧1.6及更高版本而設(shè)計的,這個包是使用最廣泛的,eclipse新建工程時,都默認帶有了。
Android Support v7: ?這個包是為了考慮照顧2.1及以上版本而設(shè)計的,但不包含更低,故如果不考慮1.6,我們可以采用再加上這個包,另外注意,v7是要依賴v4這個包的,即,兩個得同時被包含。Android Support v13:這個包的設(shè)計是為了android 3.2及更高版本的,一般我們都不常用,平板開發(fā)中能用到。
二、特性說明
Android Support v4支持庫
support-v4包算是Android對低等級的支持包。v4代表它最低支持Android1.6(API Level 4),在support-v4包中,它所擁有的類有很多,主要包含了對應用組件的支持,用戶交互體驗的一些工具類,一些數(shù)據(jù)網(wǎng)絡(luò)方面的工具類。
1、系統(tǒng)應用組件 ①、Fragment?-增加了對用戶界面和功能與片段的封裝支持,使應用程序能夠提供小型和大屏幕設(shè)備之間的調(diào)整布局(Fragment是直到Android3.0才正式進入Android框架體系的,但是Android為了低版本的兼容,因此在低版本也適配了Fragment框架)。 ②、NotificationCompat -添加豐富的通知功能的支持。 ③、LocalBroadcastManager -允許應用程序輕松注冊,并在一個單一的應用程序接收的意圖,而不在全球播放它們(用于本地廣播通知)。
2、用戶界面交互 ①、ViewPager -添加 的ViewGroup,管理布局為孩子的意見,這對用戶之間可以刷卡(界面間的滑動交互)。 ②、PagerTitleStrip -增加一個非交互標題條,可以被添加作為一個子 ViewPager。 ③、PagerTabStrip -增加一個導航部件分頁視圖之間進行切換,即也可以與使用 ViewPager。 ④、DrawerLayout -用于創(chuàng)建添加支持導航抽屜,可以從一個窗口的邊緣被拉到中(側(cè)滑欄的實現(xiàn))。 ⑤、SlidingPaneLayout -用于創(chuàng)建鏈接的摘要和詳細視圖,適當?shù)剡m應各種屏幕尺寸添加小部件(也是側(cè)滑欄的實現(xiàn),和DrawerLayout不同的是,DrawerLayout側(cè)滑欄出來的時候,默認是覆蓋在當前頁面上,而SildingPaneLayout則是會將當前頁面移走)。
3、可訪問性 ①、ExploreByTouchHelper -增加了一個輔助類實現(xiàn)了自定義視圖可訪問性支持(幫助自定義View實現(xiàn)Accessibility的工具類)。 ②、AccessibilityEventCompat -為增加支持 AccessibilityEvent。有關(guān)實現(xiàn)可訪問性的更多信息,請參閱輔助功能。 ③、AccessibilityNodeInfoCompat -為增加支持AccessibilityNodeInfo。 ④、AccessibilityNodeProviderCompat -為增加支持AccessibilityNodeProvider。 ⑤、AccessibilityDelegateCompat -為增加支持 View.AccessibilityDelegate。 內(nèi)容
4、數(shù)據(jù)訪問幫助類 ①、Loader -增加了對數(shù)據(jù)的異步加載的支持。該庫還提供了此類的具體實現(xiàn),包括 CursorLoader和AsyncTaskLoader。 ②、FileProvider -添加應用程序之間共享私人文件的支持。
有包括在這個庫中許多其他的API。有關(guān)V4支持庫API的完整,詳細的信息,請參閱android.support.v4包中的API參考。
該庫位于<SDK> /extras/android/support/v4/目錄中下載Android支持庫后。該庫中不包含用戶界面資源。把它列入你的應用程序項目,然后按照說明添加庫沒有資源。 這圖書館的搖籃構(gòu)建腳本依賴標識符如下: com.android.support:support-v4:21.0.0+ 這種依賴性符號指定發(fā)行版本21.0.0或更高版本。
Multidex支持庫 該庫提供了多的Dalvik可執(zhí)行文件(DEX)文件構(gòu)建應用程序的支持。引用超過65536方法的應用程序都需要使用multidex配置。有關(guān)使用multidex的詳細信息,請參閱構(gòu)建應用程序與在65K方法。
該庫位于<SDK>/extras/android/support/multidex/目錄中下載Android支持庫后。該庫中不包含用戶界面資源。把它列入你的應用程序項目,然后按照說明添加庫沒有資源。 這圖書館的搖籃構(gòu)建腳本依賴標識符如下: com.android.support:multidex:1.0.0+ 這種依賴性符號指定發(fā)行版本1.0.0或更高版本。
Android Support v7支持庫 有設(shè)計成與Android 2.1(API 7級)和較高的使用幾個庫。這些圖書館提供特定的功能集,并可以包含在獨立的應用程序彼此。
(1)、v7 appcompat庫 這個庫增加了對support action bar的用戶界面設(shè)計模式。該庫包括support material design的用戶界面實現(xiàn)(這個包的主要作用是為了在低版本實現(xiàn) Android 的 Holo 風格界面而引入的,與之類似的有一個開源項目叫做 SherlockActionbar)。 注意: 這個庫依賴于V4支持庫。如果您在使用Ant或者Eclipse,請確保您包括V4支持庫,因為這個庫的類路徑中的一部分。
這里有幾個關(guān)鍵的類包含在V7 appcompat庫:
①、ActionAar -提供的操作欄的實現(xiàn) 用戶界面模式。有關(guān)使用操作欄的詳細信息,請參閱 操作欄開發(fā)人員指南。 ②、ActionBarActivity -添加時必須使用作為活動使用的支持庫操作欄實現(xiàn)基類的應用程序活動課。 ③、ShareActionProvider -一個標準化的分享動作(如電子郵件,或張貼到社交應用),可以包含在動作條上增加了支持。 該庫位于<SDK> /extras/android/support/v7/appcompat/ 目錄中下載Android支持庫后。該庫包含用戶界面資源。把它列入你的應用程序項目,然后按照說明 添加庫的資源。 這圖書館的搖籃構(gòu)建腳本依賴標識符如下: com.android.support:appcompat-v7:21.0.0+ 這種依賴性符號指定發(fā)行版本21.0.0或更高版本。
(2)、v7 cardview庫 這個庫增加了對支持CardView 控件,它可以讓你證明這里面有一個一致的外觀上的任何應用程序卡的信息。這些卡是材料設(shè)計的實現(xiàn)是有用的,并且被廣泛用于布局的電視應用程序(卡片布局是最近在Android5.0發(fā)布的時候才引入的新包,主要效果是讓應用進行卡片化顯示)。
該庫位于 <SDK> /axtras/android/support/v7/cardview/目錄中下載Android支持庫后。該庫包含用戶界面資源。把它列入你的應用程序項目,然后按照說明添加庫的資源。 這圖書館的搖籃構(gòu)建腳本依賴標識符如下: com.android.support:cardview-v7:21.0.0+ 這種依賴性符號指定發(fā)行版本21.0.0或更高版本。
(3)、v7 GridLayout的Library 這個庫增加了對支持GridLayout的類,它允許你安排使用矩形單元的網(wǎng)格用戶界面元素。有關(guān)V7 GridLayout的庫API的詳細信息,請參閱 android.support.v7.widget包中的API參考。
該庫位于<SDK> /extras/android/support/v7/GridLayout/目錄中下載Android支持庫后。該庫包含用戶界面資源。把它列入你的應用程序項目,然后按照說明添加庫的資源。 這圖書館的搖籃構(gòu)建腳本依賴標識符如下: com.android.support:gridlayout-v7:21.0.0+ 這種依賴性符號指定發(fā)行版本21.0.0或更高版本。
(4)、v7 mediarouter庫 該庫提供MediaRouter,MediaRouteProvider,以及相關(guān)的媒體類,支持?GoogleCast(主要用于進行設(shè)備間的音頻,視頻交換顯示)。
在一般情況下,在第7版mediarouter庫中的API提供的控制的媒體信道的路由的一種方法,并從當前設(shè)備到外部屏幕,揚聲器,和其他的目的設(shè)備流。該庫包含的API用
于發(fā)布應用程序特定的媒體路由提供商,為發(fā)現(xiàn)和選擇目標設(shè)備,用于檢查介質(zhì)的狀態(tài),等等。有關(guān)V7 mediarouter庫API的詳細信息,請參閱android.support.v7.media包中的API參考。
mediarouter庫位于該V7 <SDK> /extras/android/support/v7/mediarouter/目錄中下載Android支持庫后。它作為一個庫項目,在V7 appcompat庫的依賴性,所以你需要設(shè)置,當你的項目,包括圖書館在構(gòu)建路徑。有關(guān)如何設(shè)置你的項目的更多信息,請按照說明添加庫的資源。如果您正在開發(fā)在Eclipse / ADT,請務(wù)必同時包含Android的support-v7-mediarouter.jar和 Android的support-v7-appcompat.jar文件。
如果您使用的是Android Studio,所有你需要做的是指定的搖籃構(gòu)建腳本的依賴標識符com.android.support:support-v7-mediarouter:<修訂>,其中“<修訂>”是最低版本在該圖書館是可用的。例如:
com.android.support:mediarouter-v7:21.0.0+ 在支持庫R18推出的V7 mediarouter庫API都受到了支持庫的更新版本改變。這時,我們建議您使用該庫僅在連接GoogleCast。
(5)、v7 Palette庫 在v7 Palette支持庫包括Panel類,它可以讓你從圖像中提取突出的顏色。例如,一個音樂應用程序可以使用一個 調(diào)色板對象從專輯封面中提取的主要顏色,并用這些顏色來打造一個色彩協(xié)調(diào)的歌名卡(這個包也是最新出來的,他的作用是幫助 Android 實現(xiàn)他的 MaterialDesign,讓你的 Actionbar 能夠根據(jù)界面進行對應的顏色改變)。
該庫位于 <SDK> /extras/android/support/v7/Palette/目錄中下載Android支持庫后。該庫中不包含用戶界面資源。把它列入你的應用程序項目,然后按照說明 添加庫沒有資源。 這圖書館的搖籃構(gòu)建腳本依賴標識符如下: com.android.support:Palette-v7:21.0.0+ 這種依賴性符號指定發(fā)行版本21.0.0或更高版本。
(6)、v7 recyclerview庫 該recyclerview庫添加RecyclerView 類。該類提供用于支持 RecyclerView插件,用于通過提供的數(shù)據(jù)項的有限窗口有效地顯示大量數(shù)據(jù)集的圖(這個包同樣也是剛出來的,他的作用是替換 ListView 和 GridView,但是可惜是沒有實現(xiàn) OnItemClick 這些接口,你需要自己處理它)。
該庫位于 <SDK> /extras/android/support/v7/recyclerview/目錄中下載Android支持庫后。該庫包含用戶界面資源。把它列入你的應用程序項目,然后按照說明添加庫的資源。 這圖書館的搖籃構(gòu)建腳本依賴標識符如下: com.android.support:recyclerview-v7:21.0.0+ 這種依賴性符號指定發(fā)行版本21.0.0或更高版本。
Android Support v8支持庫 這個庫被設(shè)計成與Android(API等級8)和較高的使用。它增加了對支持RenderScript計算框架。這些API包括在android.support.v8.renderscript包。你應該知道的步驟,包括這些API在應用程序中是非常不同的其他的支持庫API。有關(guān)在應用程序中使用這些API的更多信息,請參閱 RenderScript 開發(fā)人員指南。
注:使用RenderScript與支持庫支持與Android的Eclipse插件和Ant構(gòu)建工具。它是目前不采用Android Studio或支持的搖籃-基于構(gòu)建。
Android Support v13支持庫 這個庫是設(shè)計用來為Android 3.2(API級別13)和更高。它增加了對支持片段的(用戶界面模式FragmentCompat)類和附加片段支持類。有關(guān)片段的詳細信息,請參閱?Fragment開發(fā)人員指南。有關(guān)V13支持庫API的詳細信息,請參閱android.support.v13包中的API參考。
該庫位于<SDK> /extras/android/support/v13/目錄中下載Android支持庫后。該庫中不包含用戶界面資源。把它列入你的應用程序項目,然后按照說明 添加庫沒有資源。 這圖書館的搖籃構(gòu)建腳本依賴標識符如下: com.android.support:support-v13:18.0.0+ 這種依賴性符號指定發(fā)行版本18.0.0或更高版本。
Android Support v17庫 該android.support.v17.leanback包提供的API來支持建筑物的用戶界面在電視上的設(shè)備。它提供了許多重要的窗口小部件用于電視的應用程序。一些著名的類包括:
①、BrowseFragment -的片段,用于創(chuàng)建一個主布局為瀏覽類別和行的媒體項目。 ②、DetailsFragment -一個包裝片段Leanback的細節(jié)畫面。 ③、PlaybackOverlayFragment -的一個子類DetailsFragment用于顯示播放控制及相關(guān)內(nèi)容。 ④、SearchFragment -一個片段來處理搜索。片段接收到用戶的搜索請求,并把它傳遞給應用程序提供的SearchResultProvider。該SearchResultProvider返回搜索結(jié)果給SearchFragment,這使得它們成為一個RowsFragment。
該庫位于 <SDK> /extras/android/support/v17/Leanback的目錄中下載Android的支持庫后。有關(guān)如何設(shè)置你的項目的更多信息,請按照說明添加庫的資源 這圖書館的搖籃構(gòu)建腳本依賴標識符如下: com.android.support:leanback-v17:21.0.0+ 這種依賴性符號指定發(fā)行版本21.0.0或更高版本。
參考:
http://www.xiaoyunduo.org/article/235/
https://my.oschina.net/chengliqun/blog/148451
http://blog.csdn.net/tanranran/article/details/41010187
總結(jié)
以上是生活随笔為你收集整理的Android-support-v4 v7 v8 v13 v17 的区别和特性说明的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 15个Android通用流行框架大全
- 下一篇: Android客户端与服务器端交互,如何