日韩黑丝制服一区视频播放|日韩欧美人妻丝袜视频在线观看|九九影院一级蜜桃|亚洲中文在线导航|青草草视频在线观看|婷婷五月色伊人网站|日本一区二区在线|国产AV一二三四区毛片|正在播放久草视频|亚洲色图精品一区

分享

API級(jí)別 和 sdk版本

 杰出天下 2012-12-31

API級(jí)別是什么

當(dāng)你開發(fā)你的Android應(yīng)用程序時(shí),了解該平臺(tái)API變更管理的基本方法和概念是很有幫助的。同樣的,知道API級(jí)別標(biāo)識(shí)以及該標(biāo)識(shí)如何保障你的應(yīng)用與實(shí)際硬件設(shè)備相兼容對(duì)于開發(fā)及后續(xù)的發(fā)布、維護(hù)都是有益的。API級(jí)別是一個(gè)整數(shù)值,它唯一標(biāo)識(shí)了一個(gè)具體版本的Android平臺(tái),及其框架的API的版本。

Android平臺(tái)提供了一套框架API,使得應(yīng)用程序可以與系統(tǒng)底層進(jìn)行交互。該框架API由以下模塊組成

  • 一組核心的包和類
  • 清單(manifest)文件的XML元素和屬性聲明
  • 資源文件的XML元素和屬性聲明及訪問形式
  • 各類意圖(Intents)
  • 應(yīng)用程序可以請(qǐng)求的各類授權(quán),以及系統(tǒng)中包含的授權(quán)執(zhí)行

每個(gè)Android平臺(tái)的后續(xù)版本會(huì)包括它提供的更新的Andr??oid應(yīng)用程序框架的API。

該框架的API的更新設(shè)計(jì),使高版本的API與早期版本兼容。也就是說(shuō),在新版本API中大多數(shù)都是新增功能,和引進(jìn)新的或替代的功能。作為API的部分升級(jí),老的替換的部分已過時(shí),但不會(huì)從新版本中刪除,使得已有的應(yīng)用程序仍然可以使用它們。在極少數(shù)情況下,舊版本API的部分可能被修改或刪除,通常這種變化是為了保障API的穩(wěn)定性及應(yīng)用程序或系統(tǒng)的安全。所有其他早期版??本的API將不做修改的保留。

一個(gè)Android平臺(tái)提供的框架API,被指定一個(gè)整數(shù)標(biāo)識(shí)符,稱為“API級(jí)別。每一個(gè)版本的Android平臺(tái)只支持有一個(gè)API級(jí)別,雖然該支持是隱含地包括了所有早期的API級(jí)別(一直到API級(jí)別1級(jí))。 Andr??oid平臺(tái)的最初版本提供的框架API級(jí)別是1級(jí),隨后的版本依次遞增。

下表說(shuō)明了具體平臺(tái)版本和支持的API級(jí)別的對(duì)應(yīng)關(guān)系。

平臺(tái)版本

API級(jí)別

Android 3.0

11

Android 2.3.3

10

Android 2.3

9

Android 2.2

8

Android 2.1

7

Android 2.0.1

6

Android 2.0

5

Android 1.6

4

Android 1.5

3

Android 1.1

2

Android 1.0

1

 平臺(tái)版本        API級(jí)別

    android 3.0      11

    android 2.3.3      10

    android 2.3       9

    android 2.2        8

    android 2.1       7

    android 2.0.1    6

    android 2.0       5

    android 1.6      4

    android 1.5     3
在Android中使用API級(jí)別

  API級(jí)別標(biāo)識(shí)為保證用戶和應(yīng)用程序開發(fā)者的最佳體驗(yàn),起了關(guān)鍵作用:

  • 它讓Android平臺(tái)可以描述它支持的框架API的最高版本
  • 它讓應(yīng)用程序可以描述它需要的框架API版本
  • 它使得系統(tǒng)可以在硬件設(shè)備上安裝應(yīng)用程序時(shí)能夠檢查版本是否匹配,使得版本不兼容的應(yīng)用程序不會(huì)被錯(cuò)誤安裝在設(shè)備之上.

每個(gè)版本的Android平臺(tái)都在其內(nèi)部存儲(chǔ)了自己的API級(jí)別標(biāo)識(shí)。

應(yīng)用程序可以用框架API提供的清單文件元素 <uses-sdk> 來(lái)描述該應(yīng)用程序可以運(yùn)行的最小和最大API級(jí)別,以及應(yīng)用程序開發(fā)者設(shè)計(jì)期望運(yùn)行的平臺(tái)版本。三種屬性分別描述如下:

  • android:minSdkVersion 指明該應(yīng)用程序可以運(yùn)行的API最低版本。默認(rèn)是“1”
  • android:targetSdkVersion 指明該應(yīng)用程序設(shè)計(jì)時(shí)期望運(yùn)行的目標(biāo)API版本。這允許應(yīng)用程序使用目標(biāo)API級(jí)別下定義的清單元素或行為,而不是只限于使用最低API級(jí)別定義的內(nèi)容。
  • android:maxSdkVersion 指明該應(yīng)用程序可以運(yùn)行的最高API級(jí)別。

用戶嘗試安裝一個(gè)應(yīng)用程序,或者在系統(tǒng)升級(jí)后重驗(yàn)證應(yīng)用程序的時(shí)候,Android系統(tǒng)首先會(huì)檢查應(yīng)用程序的清單文件中的<uses-sdk>屬性,將其與系統(tǒng)內(nèi)部API級(jí)別對(duì)比。系統(tǒng)只有在滿足下列情況時(shí)才允許進(jìn)行應(yīng)用程序安裝:

  • 如果聲明了android:minSdkVersion屬性,其屬性值必須小于或等于該系統(tǒng)的API級(jí)別對(duì)應(yīng)的整數(shù)值。如果未聲明,系統(tǒng)會(huì)默認(rèn)該應(yīng)用程序運(yùn)行需要的最低API級(jí)別是1。
  • 如果聲明了android:maxSdkVersion屬性,其屬性值必須等于或大于該系統(tǒng)的API級(jí)對(duì)應(yīng)的整數(shù)值。如果未聲明,系統(tǒng)會(huì)默認(rèn)該應(yīng)用程序沒有最高API級(jí)別限制。

應(yīng)用程序清單文件中聲明該屬性后, <uses-sdk>元素看起來(lái)應(yīng)類似于下面的例子: 

 API Levels" name=image_operate_69861311043279109 alt="[轉(zhuǎn)載]Android API Levels" src="http://s14.sinaimg.cn/middle/48a45b95xa8630b496c5d&690" real_src="http://s14.sinaimg.cn/middle/48a45b95xa8630b496c5d&690">

這樣做的主要原因是,應(yīng)用程序會(huì)通過android:miniSdkVersion聲明的API級(jí)別來(lái)告知系統(tǒng)——該應(yīng)用程序使用的API是指定引入的API級(jí)別。假如沒有這種屬性聲明,一個(gè)應(yīng)用程序如果因?yàn)槟承┎恢脑虮话惭b在低級(jí)別API系統(tǒng)之上,那么該應(yīng)用程序會(huì)在運(yùn)行時(shí)因?yàn)閲L試訪問不存在的API而崩潰。為此,Android系統(tǒng)通過不允許應(yīng)用程序被安裝在不滿足其最低API級(jí)別要求的目標(biāo)硬件上來(lái)防止此類結(jié)果發(fā)生。

例如,android.appwidget類包是在API級(jí)別3中開始引入的。如果一個(gè)應(yīng)用程序使用了這個(gè)API,就必須通過指明android:minSdkVersion屬性為3來(lái)聲明運(yùn)行的最低要求。于是,該應(yīng)用程序就可以在Android 1.5API級(jí)別3級(jí))、Android 1.6 (API級(jí)別4級(jí))等平臺(tái)上安裝,但是在Android 1.1 (API級(jí)別2級(jí)) Android 1.0 平臺(tái)(API級(jí)別1級(jí))上卻是無(wú)法安裝的

    本站是提供個(gè)人知識(shí)管理的網(wǎng)絡(luò)存儲(chǔ)空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點(diǎn)。請(qǐng)注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購(gòu)買等信息,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請(qǐng)點(diǎn)擊一鍵舉報(bào)。
    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評(píng)論

    發(fā)表

    請(qǐng)遵守用戶 評(píng)論公約

    類似文章 更多