Android应用在不同版本间兼容性处理 .
来源:互联网 发布:linux svn权限控制 编辑:程序博客网 时间:2024/05/17 23:46
为了应用APP有更好的兼容性,咱们可以利用高版本的SDK开发应用,并在程序运行时(Runtime)对应用所运行的平台判断,旧平台使用旧的API,而新平台可使用新的API,这样可以较好的提高软件兼容性。
那么,如何在软件运行时做出这样的判断呢?答案下边揭晓:
在Android SDK开发文档中有段话这样的话:
Check System Version at Runtime(在软件运行时检查判断系统版本)
Android provides a unique code for each platform version in theBuild
constants class. Use these codes within your app to build conditions that ensure the code thatdepends on higher API levels is executed only when those APIs are available on the system.
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: When parsing XML resources, Android ignores XML attributes that aren’t supported by the current device. So you can safely use XML attributes thatare only supported by newer versions without worrying about older versions breaking when theyencounter that code. For example, if you set thetargetSdkVersion="11"
, your app includes the ActionBar
by defaulton Android 3.0 and higher. To then add menu items to the action bar, you need to setandroid:showAsAction="ifRoom"
in your menu resource XML. It's safe to do this in a cross-version XML file, because the older versions of Android simply ignore theshowAsAction
attribute (that is, you do not need a separate version inres/menu-v11/
).
从上面可以知道Android为我们提供了一个常量类Build,其中最主要是Build中的两个内部类VERSION和VERSION_CODES,
VERSION表示当前系统版本的信息,其中就包括SDK的版本信息,用于成员SDK_INT表示;
对于VERSION_CODES在SDK开发文档中时这样描述的,Enumeration of the currently known SDK version codes. These are the values that can be found inSDK
. Version numbers increment monotonically with each official platform release.
其成员就是一些从最早版本开始到当前运行的系统的一些版本号常量。
在我们自己开发应用过程中,常常使用如下的代码形式判断运行新API还是旧的API:
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.HONEYCOMB) { // 包含新API的代码块 } else { // 包含旧的API的代码块 }
OK,大家都知道原理了吧! 需要实例的百度蛮多的,这里就不提供了。- Android应用在不同版本间兼容性处理
- Android应用在不同版本间兼容性处理
- Android应用在不同版本间兼容性处理 .
- Android应用在不同版本间兼容性处理 .
- Android应用在不同版本间兼容性处理
- Android应用在不同版本间兼容性处理
- Android应用在不同版本间兼容性处理
- Android应用在不同版本间兼容性处理
- Android应用在不同版本间兼容性处理
- Android应用在不同版本间兼容性处理
- Android应用在不同版本间兼容性处理
- Android应用在不同版本间兼容性处理
- Android应用在不同版本间兼容性处理
- Android进阶之在不同版本间兼容性处理
- Android不同版本间兼容性处理
- Android 不同版本间的兼容性
- Data Pump在不同数据库版本间的兼容性
- Android 高版本API方法在低版本系统上的兼容性处理
- 3ds max 导出插件——md5Exporter完结篇
- TopCoder 250 points 13-SRM 150 DIV 1 82.63/250 33.05%
- 查找数组中相同的元素
- java中源代码和lib库中有包名和类名都相同的类
- 下拉框spinner:获取选中值的几种方法 .
- Android应用在不同版本间兼容性处理 .
- Maven仓库管理-Nexus
- 利用折半查找,寻找元素在数组中合适恰当的位置
- alsa的snd_pcm_readi()函数和snd_pcm_writei()
- linux io分析
- 简易画图板的升级版本1.2
- 他人的近期目标
- ArrayList对动态数组进行排序数组由Scanner后台动态接收数组元素
- 选择排序实例