Android官方开发文档Training系列课程中文版:支持不同的设备之支持不同的平台版本
原文地址 : http://android.xsoftlab.net/training/basics/supporting-devices/platforms.html
每當(dāng)APP使用了Android所提供的最新版的API時,應(yīng)用應(yīng)該繼續(xù)對老版本提供支持,直到所有的設(shè)備都更新到最新版。這一節(jié)將會展示如何使用更流行的新版本API時還能繼續(xù)良好的支持老版本。
Platform Versions的信息圖表會基于訪問GooglePlayStore(谷歌應(yīng)用商店)的許多設(shè)備從而有規(guī)律的統(tǒng)計更新Android每一個版本的活躍設(shè)備分布圖。這對于更新APP編譯環(huán)境到最新Android版本而且還可以支持90%以上的活躍設(shè)備來說是最好的實(shí)踐。
Tips:為了可以在若干個Android版本上還可以提供最佳的特性與功能,你應(yīng)該在APP中使用 Android Support Library(Android支持庫),它可以使得你可以在舊版本上使用若干較新的平臺API。
指定最低API等級與目標(biāo)API等級
文件AndroidManifest.xml詳細(xì)描述了APP相關(guān)的信息以及支持的Android版本。特別的,< uses-sdk標(biāo)簽中的minSdkVersion,targetSdkVersion屬性分別指明了APP兼容的最低版本以及最高版本:
<manifest xmlns:android="http://schemas.android.com/apk/res/android" ... ><uses-sdk android:minSdkVersion="4" android:targetSdkVersion="15" />... </manifest>每當(dāng)Android的新版本發(fā)布,一些風(fēng)格與習(xí)慣可能會被改變。為了允許APP采用這些更為優(yōu)秀的變化,以確保APP對每一臺用戶設(shè)備進(jìn)行風(fēng)格匹配,你應(yīng)該設(shè)置targetSdkVersion的值為最新的安卓可用版本。
在運(yùn)行時檢查系統(tǒng)版本
Android在Build常量類中提供了每一個平臺版本的唯一編碼。在APP中使用這些編碼以確保這些API在當(dāng)前的系統(tǒng)上是可用的。
private void setUpActionBar() {// Make sure we're running on Honeycomb or higher to use ActionBar APIsif (Build.VERSION.SDK_INT >= Build.VERSION_CODES.HONEYCOMB) {ActionBar actionBar = getActionBar();actionBar.setDisplayHomeAsUpEnabled(true);} }Note:當(dāng)解析XML資源時,Android會自動忽略當(dāng)前設(shè)備不支持的xml屬性。所以在使用XML的時候可以完全放心。舉個例子,如果你設(shè)置了targetSdkVersion=”11”,然后包含了ActionBar的APP默認(rèn)是跑在Android 3.0及以上的。然后為了向ActionBar上添加菜單按鈕,你需要在菜單資源XML文件中添加android:showAsAction=”ifRoom”。在交叉版本的XML文件中這樣做是安全的,因為老版本的Android平臺會自動忽略showAsAction屬性(所以,你就不用專門再在res/menu-v11/中做區(qū)分)。
使用平臺風(fēng)格和主題
Android為APP提供了與底層系統(tǒng)感官上相一致的用戶體驗主題。這些主題可以通過清單文件應(yīng)用到APP中。通過使用這些內(nèi)嵌的風(fēng)格和主題,你的APP很自然的可以和最新的Android版本在感官上保持一致。
如果想使Activity看起來像對話框:
<activity android:theme="@android:style/Theme.Dialog">如果想使Activity有一個透明的背景:
<activity android:theme="@android:style/Theme.Translucent">如果要使用在/res/values/styles.xml下定義的自定義主題:
<activity android:theme="@style/CustomTheme">如果要將自定義主題應(yīng)用到整個APP中,在< application>標(biāo)簽中添加 android:theme 屬性:
<application android:theme="@style/CustomTheme">更多有關(guān)創(chuàng)建和使用主題的相關(guān)信息,請參見指南: Styles and Themes
總結(jié)
以上是生活随笔為你收集整理的Android官方开发文档Training系列课程中文版:支持不同的设备之支持不同的平台版本的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Android官方开发文档Trainin
- 下一篇: Android官方开发文档Trainin