注:本文翻譯自Google官方的Android Developers Training文檔,譯者技術一般,由于喜愛安卓而產(chǎn)生了翻譯的念頭,純屬個人興趣愛好。
原文鏈接: http://developer.android.com/training/basics/supporting-devices/platforms.html
盡管最新版本的Android系統(tǒng)為你的應用提供了大量的API,你仍然應該繼續(xù)支持較老版本的Android,直到更多的設備更新了系統(tǒng)。這堂課將向你展示應該如何利用新API的同時,還可以繼續(xù)支持過去的版本。
在 Platform Versions 中的面板中,會定期地更新所有活躍設備所使用的系統(tǒng)版本的比例,這些信息來自于訪問了谷歌應用市場(Google Store Play)的設備。當將你的應用定位于最新版本的Android系統(tǒng)時,支持90%左右的活躍設備是一個值得提倡的好習慣。
Tip:
為了在多個Android版本中都能得到最佳的特性和功能,你應該在你的應用中使用 Android Support Library ,這可以允許你在較舊的版本中,使用一些最近平臺的API。
?
一). 指定最低和目標API Level
在
AndroidManifest.xml
文件中,描述了你的應用的細節(jié),和它所支持的Android版本。特別地,
<uses-sdk>
標簽中的“
minSdkVersion
”表示了你的應用所能兼容的最低系統(tǒng)版本,而“
targetSdkVersion
”屬性字段表示了你的應用是基于哪個版本(最高的)系統(tǒng)進行開發(fā)和測試的。
例如:
< manifest xmlns:android ="http://schemas.android.com/apk/res/android" ... > < uses-sdk android:minSdkVersion ="4" android:targetSdkVersion ="15" /> ... </ manifest >
當一個新的Android系統(tǒng)發(fā)布后,一些風格和行為可能會改變。為了使你的應用可以使用這些改變帶來的好處,并使你的應用能夠在每個用戶的設備上適用,你應該將
targetSdkVersion
設置為最新的
Android
系統(tǒng)版本。
?
二). 在運行時檢查系統(tǒng)版本
Android為每個系統(tǒng)版本提供了獨一無二的系統(tǒng)代號,這些代號是 Build 類中的靜態(tài)常量。你可以在你的應用中通過使用這些代碼,來保證那些依賴于較高API Level的代碼僅在系統(tǒng)負荷要求的情況下才會被運行。
private void setUpActionBar() { // Make sure we're running on Honeycomb or higher to use ActionBar APIs if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.HONEYCOMB) { ActionBar actionBar = getActionBar(); actionBar.setDisplayHomeAsUpEnabled( true ); } }
Note:
當解析XML資源文件時,Android會將當前設備部支持的XML屬性字段忽略。所以你可以放心地使用只在較新的系統(tǒng)版本中才支持的屬性字段,而不必擔心舊版本當遇到這些字段時應用匯崩潰。例如,如果你設置:“ targetSdkVersion=11 ”,你的應用在Android 3.0或更高的系統(tǒng)平臺上使用了默認的Action Bar。然后為了給Action Bar添加菜單項,你需要在你的菜單(menu)XML資源文件中設置:“ android:showAsAction=ifRoom ”。即使是跨版本情況,這樣做也是安全的,因為舊版本的Android會直接忽略“ showAsAction ”這個屬性字段。(所以,你不需要類似于“ res/menu-v11/ ”這樣的文件)
?
三). 使用平臺的風格和主題
Andorid提供了和基本操作系統(tǒng)的外觀相切合的用戶主題。這些主題可以通過清單文件應用到你的系統(tǒng)當中。通過使用這些內(nèi)置的風格和主題,你的應用可以和新發(fā)布的Android系統(tǒng)風格保持一致。
比如,使你的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" >
為了將一個主題應用到你的整個App中,在
<application>
標簽下添加“
android:theme
”屬性字段:
< application android:theme ="@style/CustomTheme" >
閱讀 Styles and Themes 獲得更多關于創(chuàng)建和使用主題的信息。
更多文章、技術交流、商務合作、聯(lián)系博主
微信掃碼或搜索:z360901061

微信掃一掃加我為好友
QQ號聯(lián)系: 360901061
您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。
【本文對您有幫助就好】元
