Android基础知识之API等级介绍

本文详细介绍了Android中的API等级概念,包括API等级的作用、如何在Android平台使用API等级以及开发注意事项。API等级用于描述应用兼容性,系统会过滤不兼容应用。文章强调了minSdkVersion、targetSdkVersion和maxSdkVersion属性的重要性,提醒开发者测试不同API级别的应用,以确保向前和向后兼容性。
摘要由CSDN通过智能技术生成

原文:http://android.eoe.cn/topic/android_sdk

:可以让开发者通过一个表示API级别的整数来描述程序在android平台上的兼容性,系统会将与系统本身提供的API级别与应用指定的API级别比较。
尽管他有这个名字,但是该元素只是用来指定API级别,并不是用来指定SDK或者android平台的版本号。API级别也是一个整数,但是你不能根据android版本号来追溯API级别(例如,它并不等同于主版本号或是主版本与次版本号的和)。
同样,请阅读Versioning Your Applications文档.


::http://developer.android.com/assets/images/icon_play.png Google Play 与属性:

::Google Play会过滤应用对用户的可见性,用户只能看见和下载那些与用户设备兼容的一些应用。过滤应用的一种方式就是通过Android版本的兼容性。为此,Google Play会检查每个应用的Manifest文件标记的属性来构建版本兼容性范围,然后会根据它与用户Android系统的API级别的比对来决定隐藏或者显示该应用。可以参考Filters on Google Play.

属性:

:android:minSdkVersion
::一个整数来指定程序可以运行的最小版本。如果用户系统的API级别小于该属性指定的值,系统将会阻止用户来安装此应用。你应该一直声明这个属性。

* 注意* :
如果没有显示的声明该属性,系统指定一个默认值1,表明你的程序兼容Android系统的所有版本。如果应用并不是兼容所有的版本的android系统(举例来说,应用用到了API3 才引用的API),而且你没有声明minSdkVersion属性,当应用安装到API的级别小于3的系统上且试图访问不可用的API时,系统将会异常终止。有鉴于此,请确定,应用已显式声明 minSdkVersion属性。

:android:targetSdkVersion
::一个整数用来指定应用目标的API级别。如果没有设置,默认值等于minSdkVersion所给的值。
::该值用来告诉系统应用已经在目标版本上进行测试以及系统可以不启用任何兼容性行为来维持你的应用的向前兼容性。应用同样可以在老版本上运行(向前一直追溯到minSdkVersion).
::当android演变为一个新的版本,一些行为甚至外观可能会改变。如果,用户平台的API级别比应用声明的targetSdkVersion版本高,系统可以启动兼容性行为来确保你的应用程序继续以你期望的方式工作。“你可以通过指定targetSdkVersion与应用可运行的平台的API等级相匹配来禁用这种兼容性行为。例如,将值设置为“11”或更高,允许系统使用一个新的默认主题(整体)到你的应用程序并且禁止
::屏幕兼容模式当程序安装更大的屏幕上的时候(因为API11隐式的支持更大的屏幕)。

::有许多兼容性的行为是可以设置的,这些行为描述可以参考Build.VERSION_CODES.
::为了维护您的应用程序沿着每个Android版本发布,你应该增加这个属性的值,以符合最新的API级别,然后在相应平台版本上彻底地测试您的应用程序。

:android:maxSdkVersion
::一个整数来制定应用支持的最大的API级别.

::在Android1.5,1.6,2.0和2.0.1,系统会在安装应用程序和系统更新时重新验证这个属性的值。在任何情况下,如果应用程序的maxSdkVersion属性是低于系统本身所使用的API级别,那么系统将不允许应用安装。在系统更新后重新验证失效后,系统会立即将此应用从设备移除。

::为了说明这个属性如何影响系统更新后您的应用程序,考虑下面的例子:
::应用程序在它的manifest声明maxSdkVersion=“5”,并且发布在谷歌电子市场。用户的设备运行Android1.6(API等级4)下载并安装应用程序。几个星期之后,用户接收到Android2.0(API等级5)空中系统更新。安装更新后,系统会检查应用程序的的maxSdkVersion,并成功地重新验证它。应用的功能和正常一样。然而,一段时间后,设备接收到另一个系统的更新,升级到Android2.0.1(API等级6)。系统更新后,应用程序不能再通过重新验证,因为系统自身的API级别(6)现在是高于应用支持的最大的API级别(5)。系统就可以在用户可见之前移除该应用.

* 警告* :不建议声明此属性。首先:是没有必要去设置属性来阻止应用被安装在新的android平台上,根据设计,android平台是完全向后兼容的,假如你的应用使用标准的API,就应该会在新版本上正常工作.二:请注意,设置这个属性后,其结果是在系统升级到更高的API等有后,应用将会从用户的设备上被移除掉。你的应用可能被安装到的大多数设备,都会收到定期的系统升级信息,在设备这个发生之前,你应该充分考虑到这种情况对应用影响。.

:介绍在:
::API等级4
:未来版本的Android(超过Android2.0.1的)将不再检查或执行安装过程中验证maxSdkVersion属性。然而,在呈现给用户可供下载的应用时,电子市场依旧将其作为作为一个过滤器使用。。

介绍在:
:API等级1

什么是API等级

:API等级是由Android平台提供的用来唯一识别API框架版本号的一个整形数值。.
:Android平台提供了一个API框架,应用程序可以使用其与底层的Android系统进行交互。该框架API包括:
::* 一套核心的包和类
::* 一个XML元素和属性集来声明一个manifest文件
::* 一个XML元素和属性集来声明访问的资源
::* 一组intent(意图工具)
::* 一组系统权限,应用程序可以请求,也可以强制允许包含在系统内.
:每个后续的android平台会把他提供的更新包含在android API中.
:API升级的模式是设计向后兼容的,所以新的API仍然兼容早期的API版本,也就是说大部分分的变化是新增加API或者对原有的进行替换,例如:部分API被升级,这些老的被弃有,但是不会删除,使现有的应用程序仍可以使用它们。在极少数情况下,部分的API可能被修改或删除,这种变化通常只需要确保API的健壮性和应用程序或系统的安全性。所有其他API部分,无需修改。
:Android平台提供的API框架指定了一个整数标识符,称为“API级别”。虽然每一个Android平台版本精确地支持一个API等级,但是其隐含的支持所有早期的API级别(直至API等级1)。 Android平台提供的API 初始版本(API等级1)和后续发行版本的API等级是递增的。
下表指定API级别支持的每个版本的Android平台:
<!--以后写这个表格 fuck 好像又丢了一大段.......-->
{|style="border-spacing: 0px;margin: 4px 4px; width: 90%; border-left:1px solid #ccc;border-top:1px solid #ccc; "

<!-- 这段是表头 -->
|-style="background:#DEE8F1; "
! style="border-right:1px solid #ccc;border-bottom:1px solid #ccc; padding:5px 15px" | 平台等级
! style="border-right:1px solid #ccc;border-bottom:1px solid #ccc; padding:5px 15px" | API等级
! style="border-right:1px solid #ccc;border-bottom:1px solid #ccc; padding:5px 15px" | 版本代号
! style="border-right:1px solid #ccc;border-bottom:1px solid #ccc; padding:5px 15px" | 备注

<!-- 这段是表格 -->
|- style=" vertical-align:top;"
| style=" border-right:1px solid #ccc;border-bottom:1px solid #ccc; padding:5px 15px; " |

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值