當前位置:首頁 » 安卓系統 » 安卓support哪個版本好

安卓support哪個版本好

發布時間: 2023-05-17 02:40:52

『壹』 support v7兼容包的用途(三 、v7兼容包和系統自帶的比較和注意點)

舉個例子:
系統的android.widget.toolbar 是最低到Android 5.0 (API21)
android.support.v7.widget.Toolbar是最低兼容到Android2.3(API9)
24.2.0的v7包開始就是兼容到android 2.3,不向下兼容了。

注意事項1
支持庫,自版本 24.2.0 起不再提供對 Android 2.2(API 級別 8)和更低版本的支持。僅用於這些系統版本的類和方法現在被標記為「棄用」,因而不應繼續使用。未來版本可能會移除這些棄用的類和方法。

注意事項2
Android Design和Material Design
Theme
Hoho Theme
在4.0之前Android可以說是沒有設計可言的,在4.0之後推出了Android Design,從此Android在設計上有了很大的改善,而在程序實現上相應的就是Holo風格,所以你看到有類似 Theme.Holo.Light、 Theme.Holo.Light.DarkActionBar 就是4.0的設計風格,但是為了讓4.0之前的版本也能有這種風格怎麼辦呢?這個時候就不得不引用v7包了,所以對應的就有 Theme.AppCompat.Light、 Theme.AppCompat.Light.DarkActionBar,如果你的程序最小支持的版本是4.0,那麼可以不用考慮v7的兼容。

Material Design Theme
今年的5.0版本,Android推出了Material Design的概念,這是在設計上Android的又一大突破。對應的程序實現上就有 Theme.Material.Light、 Theme.Material.Light.DarkActionBar等,但是這種風格只能應用在在5.0版本的手機,如果在5.0之前應用Material Design該怎麼辦呢?同樣的引用appcompat-v7包,這個時候的Theme.AppCompat.Light、 Theme.AppCompat.Light.DarkActionBar就是相對應兼容的Material Design的Theme。

注意事項3

gradle引用appcompat-v7包的時候就不需要引用v4了,因為v7里默認包含了v4包;
compile 『com.android.support:appcompat-v7:24.0.3』 中的24代表API level 24推出的兼容包,所以如果你引用的是21之前的版本,4.0以上,則默認這些是Hoho Theme風格的,從21開始的版本默認是Material Design Theme風格。同時,

如圖可知:系統21給他value 21的,系統22給他value 22的.系統23給他value 23的。

注意事項4
所以我們在build.grade里寫入這個compile時,如果偏小會出現這種情況

『貳』 Android Support v4,v7,v13的區別和應用場景

android-support-v7是谷歌推出的版本兼容包,最低兼容Android2.1的系統,這個包通常和appcompat-v7這個工程一起使用。
appcompat-v7這個工程可以讓開發者統如孝一開發,在任何系統版本下保證兼容性。涉及的內容有Theme,value,布局,新的控制項,新的動畫實現方式,包含了support-v4的全部內容,開發Android工程時,要兼容低版本都要導入v7工程。android studio在創建工程的時候默認導入了v7工程,並且將style使用了兼容style,給開發者提供了極大的方便。並且最新的v7包增加了很多material design的陵啟兼容類和素材,請及時更新。
android-support-v13是谷歌推出的版本兼容包,最低兼容Android3.2的系統。當初是為了開發平板做設計的。Android 3.x系統都是平板專用系統,但是3.x系統失敗了。所以使用v13的包沒有任何價值。

v7版本適用於任何版本的開發,保證了兼容性,所以在使用的時候一定要採用。
不要再用Eclipse做Android開發,ADT已經沒有更新過了,Android Studio是Android開發的首選工具,支持5.0開發,更好的開發享受。(1.3正式版將會有非常大的變化,非常期待渣汪稿)

『叄』 android support v4支持包要點分析,api介紹

http://www.jianshu.com/p/d36a1e5bf246

本文出自zhh_happig的博客http://www.jianshu.com/u/d82bd37b1d29,謝謝

Android support v4這個包是告知為Android 1.6(API版本為4)及以上的版本設計的(從android-support-v4-24.2.0開始,V4包支持的最低版本是Android 2.3即API Level 9),該支持庫可以讓在舊版本 Android 平台上運行的應用,支持新版本平台推出的功能。

舉個Fragment的例子說明一下,假設我們某個應用支持的最低版本是:minSdkVersion=8,但是應用中用到了android.app.Fragment類,而Fragment類是在Android 11的時候才開始加入的,那麼當我們的應用運行在Android 11以下的手機就會出現問題,那麼如何能讓Fragment在低於11的手機上也能正常使用呢?我們需要引入android.support.v4包中android.support.v4.app.Fragment來替換掉原來用到的android.app.Fragment類,android.support.v4.app.Fragment和android.app.Fragment有一樣的效果,但是它能在低於11的手機上正常使用,這就是support支持庫提供的功能,能兼容低版本的Android平台。

android.support.v4包支持的最低版本是Android 4,v4的意思是就是支持最低版本是4,如果你要使用Fragment,最低版本只兼容到4了。

拿上面的例子來說:應用中的minSdkVersion=8,為了兼容低版本的手機,引入了android.support.v4包中android.support.v4.app.Fragment。當應用在不同版本手機運行,android.support.v4是怎樣工作的呢?

a.當運行在Android版本是4-10手機上,手機Android框架沒有提供Fragmeng提供的功能:則android.support.v4支持庫會調用自身android.support.v4.app.Fragment;

b.當運行在Android版本是11及以上的手機上,手機Android框架提供了Fragmeng提供的功能:則android.support.v4支持庫會調用手機Android框架android.app.Fragment。

也就是說,如果應用調用其中一個支持類的方法,則支持庫的行為將取決於運行應用的手機的Android 版本。如果手機Android框架提供必要的功能,則支持庫將通過調用手機Android框架執行任務。如果應用在舊版本的 Android 上運行,且手機Android框架未提供所需的功能,則支持庫自身可能會嘗試提供相應的功能或什麼都不做。無論是哪一種情形,應用通常都不需要檢查其在哪一版本的 Android 上運行,而是通過支襪圓消持庫執行檢查並選擇適當的行為。

還有一些android.support.v4中類,比如ViewPager等,不管在Android那個版本,都沒有這個類,所以要用到ViewPager,就必須引用android.support.v4包了。

註:隨著系統的迭代Android 1.6的設備已經很少了,官方在Support Library 24.2.0版本的時候移除了對Android 2.2(API Level 8)及以下版本的支持,所以從Android Support v4 24.2.0開始,V4包支持的最低版本是Android 2.3即API Level 9

我們可以發現android-support-v4後面都跟著版本號:比如android-support-v4-23.0.0 (對應Android Api Level 23),如果不清楚這個版本號,在開發中也會帶來很多問題。

最常見的問題就是已經引入了android-support-v4包,但是某個類或者某腔啟個方法卻找不到,這個原因應該就是版本號不對了。

比如我們在targetSdkVersion < 23的時,用到android.support.v4.content.PermissionChecker這個類來檢查許可權 ,但是引入了android-support-v4-22.2.1.jar後,卻找不到PermissionChecker類,原因就是PermissionChecker是23.0.0版本才加入的,所以引入android-support-v4-23.0.0.jar就行了。

遇到這種問題,可以去 Android官方中文網站 找到對應的類或方法,看看它們加入的版本:added in version,然後在引入對應的support包

註:在android-support-v4-24.2.0及之後的版本中,為了增強效率和減小APK的大小起見,Android將android-support-v4包從一個獨立的依賴包拆分成v4 compat library、v4 core-utils library、v4 core-ui library、v4 media-compat library和v4 fragment library這5個包,考慮到V4的向後兼容,你在工程中依賴V4這個依賴包時默認是包含拆分後的5個包的,但為了節省APK大小,建議在開發過程中根據實際情況依賴對應的V4包,移除不必要的V4包。

v4 compat library 

兼容一些 Framework API,如 Context.getDrawable() 和 View.performAccessibilityAction()等,在AS中的依賴方式如下:

compile 'com.android.support:support-compat:24.2.1'

v4 core-utils library

提供一系列核心的工具類,如 AsyncTaskLoader 和 PermissionChecker,在AS中的依賴方式如下,按自己需求選擇合適版本:

compile 'com.android.support:support-core-utils:24.2.1'

core-ui library

提供一系列核心的 UI,如 ViewPager、 NestedScrollView,在AS中的依賴方式如下:

compile 'com.android.support:support-core-ui:24.2.1'

v4 media-compat library

android.media 兼容庫,包括 MediaBrowser 和 MediaSession,在AS中的依賴方式如下:

compile 'com.android.support:support-media-compat:24.2.1'

v4 fragment library

跟fragment相關部分,v4 fragment library這個子庫依賴了其他4個子庫,所以我們一旦依賴這個庫就會自動導入其他4個子庫,這跟直接依賴整個support-v4效果類似,在AS中的依賴方式如下:

compile 'com.android.support:support-fragment:24.2.1'

拆包並不一定代表能夠真的解決效率和減小APK的大小問題,V4包拆分後的5個子包有依賴關系。即拆包之後,要用到某個子包的API時,可能還得依賴其它的子包,這也是有坑的地方。當我們編譯沒有問題,運行出現Do not find class之類的錯誤時,一定要看看是不是子包之間的依賴關系造成的,如果是引入相應的子包。出現這個依賴問題,再加上版本可能出現問題,對於新手來說,比較棘手,建議新手全部導入。

以上文章內容,是本人工作中的總結,供大家參考,有誤的地方還請指正。

『肆』 Android 應用只支持4.0以上還需要support v7兼容包么

若要兼容低版本,則相當於不能使用新版sdk里存在,而舊版本sdk里不存在的內置控制項(一般都在android.widget包里),因為若運行在低版本系統的手機上,會找不到類。
如果想使用怎麼辦呢?這時向下兼容包就發揮作用了,v4的目的是把新的sdk里的控制項和特性帶給1.6+,v7的目的是把新的sdk里的控制項和特性帶給2.1+,這確實是谷歌很負責任的一個行為,要知道iOS就任性的不做向下兼容(要麼你別想用,要麼你給我更新系統!)
建議使用新版sdk的兼容包里的兼容性控制項(一般在android.support.v_.widget包中,兼容包也會跟著sdk內置控制項的特性升級而有所變化,每個版本盡量兼容最新的特性,所以盡量使用跟構建sdk相同版本的兼容包以獲得最多特性支持,可以在對應版本的android SDK的目錄下找到)。
如果基於4.0以上,則兼容包中對應的絕大多數控制項都已經在構建sdk中存在,不需要使用兼容包,畢竟sdk里內置的比support這種為了照顧低版本系統的功能肯定要更強大。
這里說絕大多數,是因為像ViewPager這種常用的控制項確實一直任性的只存在於v4 support中,而原生內置sdk中一直沒有同位體存在。如果你想使用的話還是得引入v4 support(當然也可以去github找個其他的開源實現方式)。

『伍』 Android Support v4,v7,v13的區別和應用場景

高版本的 SDK里提供了新的東西,如果你用了這些東西開發應用,然後你又想支持低版本SDK的機器的時候你就需要把新的東西直接導入你的apk裡面,這樣你的apk裝到低版本的機器里去也能運行。

Android Support v4 是最早(2011年4月份)實現的庫。用在Android1.6 (API lever 4)或者更高版本之上。它包含了相對V4, V13大的多的功能。


如:Fragment,NotificationCompat,LoadBroadcastManager,ViewPager,PageTabAtrip,Loader,FileProvider
等。
詳細API 參考 http://developer.android.com/reference/android/support/v4/app/package-summary.html
Android Support v7: 這個包是為了考慮Android2.1(API level 7)
及以上版本而設計的,但是v7是要依賴v4這個包的,也就是如果要使用,兩個包得同時
被引用。
v7支持了Action Bar。
Android Support v13:這個包的設計是為了android 3.2及更高版本的,一般我們都不常用,平板開發中能用到

『陸』 android.support.v4.app.Fragment和 android.app.Fragment的區別

1.最低支持脊判罩版本不同 android.app.Fragment 兼容的最低版本是android:minSdkVersion="11" 即3.0版 android.support.v4.app.Fragment 兼容的最低版本是android:minSdkVersion="櫻鬧4" 即1.6版 2.需要導jar包 fragment android.support.v4.app.Fragment 需要引入包android-support-v4.jar 3.在Activity中取的方法不同 android.app.Fragment使沖爛用 (ListFragment)getFragmentManager().findFragmentById(R.id.userList) 獲得 ,繼承Activity android.support.v4.app.Fragment使用 (ListFragment)getSupportFragmentManager().findFragmentById(R.id.userList) 獲得 ,需要繼承android.support.v4.app.FragmentActivity

熱點內容
安卓什麼時候限制app許可權 發布:2025-02-13 19:53:12 瀏覽:109
紅米手機錄音文件夾 發布:2025-02-13 19:41:33 瀏覽:235
android適配屏幕 發布:2025-02-13 19:40:30 瀏覽:792
解壓球0 發布:2025-02-13 19:38:19 瀏覽:642
早春開花植物如何配置 發布:2025-02-13 19:22:19 瀏覽:50
安卓怎麼獲得root錄音許可權 發布:2025-02-13 19:21:22 瀏覽:170
訪問學者留學基金委 發布:2025-02-13 19:21:13 瀏覽:430
制定編程 發布:2025-02-13 19:11:39 瀏覽:58
微商相冊安卓與蘋果機哪個方便 發布:2025-02-13 19:10:02 瀏覽:6
優酷視頻緩存設置 發布:2025-02-13 19:04:03 瀏覽:156