AndroidManifest.xml uses-feature功能詳解
本文實(shí)例講述了AndroidManifest.xml uses-feature功能。分享給大家供大家參考,具體如下:
如果你是一個(gè)Android用戶,而且你有一個(gè)老舊的安裝有android 1.5 的android設(shè)備,你可能會(huì)注意到一些高版本的應(yīng)用沒(méi)有在手機(jī)上的Android Market 中顯示。這必定是應(yīng)用使用了<uses-feature>的結(jié)果。
Android Market會(huì)根據(jù)uses-feature過(guò)濾所有你設(shè)備不支持的應(yīng)用。通過(guò)使用<uses-feature>元素,一個(gè)應(yīng)用可以指定它所支持的硬件型號(hào),舉個(gè)例子,有些設(shè)備不支持多點(diǎn)觸控或者OpenGL ES 2.0,那么過(guò)濾器就會(huì)過(guò)濾需要這些硬件支持(多點(diǎn)觸控或者OpenGL ES 2.0)的應(yīng)用,用戶就不會(huì)在android market上看到這些應(yīng)用。
一個(gè)<uses-feature>元素包含以下屬性:
name屬性指定了應(yīng)用的特征,required屬性告訴過(guò)濾器我們是否在任何情況下必須要需要這個(gè)設(shè)備的支持,或者僅僅只是“nice to have”。
最后一個(gè)屬性是可選擇的,只是用在需要指定一個(gè)OpenGL ES版本的時(shí)候。
接下來(lái)的幾個(gè)硬件特征對(duì)于游戲開(kāi)發(fā)是非常有用的。
android.hardware.touchscreen.multitouch:它要求設(shè)備有一個(gè)多點(diǎn)觸控的屏幕以支持基本的多點(diǎn)觸控交互,就如收縮(放大)圖像比例。這些類(lèi)型的屏幕跟蹤多個(gè)手指的能力都有所不同,所以你必須確保這個(gè)屏幕的性能是能夠支持的游戲進(jìn)行。
android.hardware.touchscreen.multitouch.distinct: 這是一個(gè)多點(diǎn)觸控的兄弟屬性,它要求提設(shè)備供完整的多點(diǎn)觸控功能。
我們將會(huì)在接下來(lái)的章節(jié)片段中看到多點(diǎn)觸控?,F(xiàn)在只要記住在當(dāng)你的游戲需要一個(gè)支持多點(diǎn)觸控的屏幕的時(shí)候,我們可以使用 <uses-feature>元素來(lái)剔除所有不支持多點(diǎn)觸控的設(shè)備,就像下面這樣:
另外一個(gè)在游戲開(kāi)發(fā)中非常有用的是去指定需要的OpenGL ES版本。在本書(shū)中,我們只關(guān)心OpenGL ES1.0和OpenGL ES1.1就可以了。由于這2者基本上沒(méi)有什么不同,所以我們也不用去指定<uses-feature>了。然而,有些設(shè)備支持更強(qiáng)大的OpenGL ES2.0
如果你的游戲需要更強(qiáng)大的圖形處理能力,我們可以指定OpenGL ES 2.0,然后我們的游戲只會(huì)被支持OpenGL ES 2.0的設(shè)備所看見(jiàn)。注意,這里一般不使用OPenGL ES 2.0, 我們只是過(guò)濾那些不能提供足夠圖形處理能力的設(shè)備。下面顯示了我們?cè)趺慈?shí)現(xiàn)它。
它將使我們的游戲只被支持OPenGL ES 2.0 和 假裝有相當(dāng)?shù)膱D形處理能力的設(shè)備所看到。
NOTE: 有些設(shè)備所反映的性能特征是不正確的,所以開(kāi)發(fā)你的應(yīng)用的時(shí)候盡量去支持各種不同的設(shè)備。要謹(jǐn)慎使用<uses-feature>。
現(xiàn)在就以硬件而言,你的應(yīng)用已經(jīng)直接地減少了許多安裝量,這將直接影響到你應(yīng)用的銷(xiāo)量。所以當(dāng)你定義<uses-feature>之前請(qǐng)慎重考慮。舉個(gè)例子,如果你的游戲需要有多點(diǎn)觸控的支持,但是我們也可以思考另外一種方法,是游戲能夠在支持單點(diǎn)觸控的設(shè)備上運(yùn)行良好,我們就可以寫(xiě)2個(gè)路徑的代碼,分別在兩種設(shè)備上運(yùn)行。
PS:關(guān)于AndroidManifest.xml文件相關(guān)屬性功能可參考本站在線工具:
Android Manifest功能與權(quán)限描述大全:
http://tools.jb51.net/table/AndroidManifest
更多關(guān)于Android相關(guān)內(nèi)容感興趣的讀者可查看本站專(zhuān)題:《Android數(shù)據(jù)庫(kù)操作技巧總結(jié)》、《Android編程之a(chǎn)ctivity操作技巧總結(jié)》、《Android文件操作技巧匯總》、《Android編程開(kāi)發(fā)之SD卡操作方法匯總》、《Android開(kāi)發(fā)入門(mén)與進(jìn)階教程》、《Android資源操作技巧匯總》、《Android視圖View技巧總結(jié)》及《Android控件用法總結(jié)》
希望本文所述對(duì)大家Android程序設(shè)計(jì)有所幫助。
相關(guān)文章
Android利用LitePal操作數(shù)據(jù)庫(kù)存取圖片
這篇文章主要為大家詳細(xì)介紹了Android利用LitePal操作數(shù)據(jù)庫(kù)存取圖片的方法,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2017-08-08android數(shù)據(jù)存儲(chǔ)之文件存儲(chǔ)方法
本篇文章主要介紹了android數(shù)據(jù)存儲(chǔ)之文件存儲(chǔ)的方法,具有一定的參考價(jià)值,有需要的可以了解一下。2016-11-11Jetpack Compose自定義動(dòng)畫(huà)與Animatable詳解
在今年的Google/IO大會(huì)上,亮相了一個(gè)全新的 Android 原生 UI 開(kāi)發(fā)框架-Jetpack Compose, 與蘋(píng)果的SwiftIUI一樣,Jetpack Compose是一個(gè)聲明式的UI框架,這篇文章主要介紹了Jetpack Compose自定義動(dòng)畫(huà)與Animatable2022-10-10Android Gradle Build Error:Some file crunching failed, see l
這篇文章主要介紹了Android Gradle Build Error:Some file crunching failed, see logs for details的快速解決方法的相關(guān)資料,需要的朋友可以參考下2016-10-10Android spinner下垃菜單用法實(shí)例詳解
這篇文章主要介紹了Android spinner下垃菜單用法,詳細(xì)分析了spinner下垃菜單的定義、布局及功能實(shí)現(xiàn)相關(guān)技巧,需要的朋友可以參考下2016-07-07Android應(yīng)用中Back鍵的監(jiān)聽(tīng)及處理實(shí)例
在Android應(yīng)用中處理Back鍵按下事件,多種實(shí)現(xiàn)方法如下,感興趣的朋友可以了解下哈2013-06-06Android網(wǎng)絡(luò)請(qǐng)求框架Retrofit詳解
這篇文章主要為大家詳細(xì)介紹了Android網(wǎng)絡(luò)請(qǐng)求框架Retrofit,使用Retrofit2.0.0版本進(jìn)行實(shí)例演示,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2017-08-08Android?hid發(fā)送apdu格式數(shù)據(jù)示例詳解
這篇文章主要介紹了Android?hid發(fā)送apdu格式數(shù)據(jù),在?Android?中,如果你想通過(guò)?HID(Human?Interface?Device)發(fā)送?APDU?格式的數(shù)據(jù),通常會(huì)涉及?USB?HID?設(shè)備或藍(lán)牙?HID?設(shè)備,本文給大家講解的非常詳細(xì),需要的朋友可以參考下2023-08-08