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