Android Training - 支持不同平台版本
2012-08-08 14:59
351 查看
最新版本的Android经常能提供好的API给你的程序,你也必须继续支持老的版本,直到大部分设备都已经更新。这个课程教你怎么发挥新版本的优势,同时能很好的支持老版本。
定期更新的平台版本报表展示了每个android版本下激活设备的分布情况,这个报表是基于访问Google Play Store的设备统计的。最好的做法是,在支持最新的版本的同时支持90%的激活设备。
提醒:为了在多个版本中提供最好的特征和功能,你需要使用Android
Support Library 到你的程序中,它允许你在老版本中使用最新平台的API。
指定最小和目标API级别
AndroidManifest.xml文件描述了程序的详细资料,这里可以定义程序可以支持什么Android版本。<uses-sdk>元素中的minSdkVersion属性定义了你的程序兼容的最低API,targetSdkVersion属性定义了你的程序可以设计和测试的最高API级别。
例如:
一个新的版本发布,一些样式和行为就可以改变。为了能利用这些改变去确保你的程序适用于每个用户的设备,你应该设置targetSdkVersion值去匹配最新的版本。
运行时检查系统版本
Android在Build常量类中为每个版本提供了一个唯一的代号。在程序中使用这个代号去判断支持的版本,确保部分代码能在更高的版本中被执行。
提示:当解析XML资源时,Android会忽略当前设备不支持的XML属性。所以你可以安全的使用新版本的XML属性,而不用担心老版本会报错。例如,如果你设置了targetSdkVersion="11",你的程序在Android3.0或者更高版本中默认包含了ActionBar。为了添加菜单项到action bar中,你必须设置android:showAsAction="ifRoom"在menu资源文件中,这样做是安全的,因为老版本会简单的忽略这个属性。(在这里,你不需要在res/menu-v11中添加一个特别版本)
使用平台的风格和主题
Android提供了一些主题给程序使用,让程序看上去更像基本的操作系统。这些主题可以在你的manifest文件中设置。使用了这些样式和主题,你的程序将会很自然的展现在最新版本的系统中。
让你的activity看起来像一个对话框:
让你的activity有半透明的背景:
使用你自己定制在/res/values/styles.xml中的主题:
让你整个程序(所有activity)使用一个主题,在<application>元素中添加android:theme属性:
了解更多创建和使用主题的知识,可以看这里: Styles
and Themes
定期更新的平台版本报表展示了每个android版本下激活设备的分布情况,这个报表是基于访问Google Play Store的设备统计的。最好的做法是,在支持最新的版本的同时支持90%的激活设备。
提醒:为了在多个版本中提供最好的特征和功能,你需要使用Android
Support Library 到你的程序中,它允许你在老版本中使用最新平台的API。
指定最小和目标API级别
AndroidManifest.xml文件描述了程序的详细资料,这里可以定义程序可以支持什么Android版本。<uses-sdk>元素中的minSdkVersion属性定义了你的程序兼容的最低API,targetSdkVersion属性定义了你的程序可以设计和测试的最高API级别。
例如:
<manifest xmlns:android="http://schemas.android.com/apk/res/android" ... > <uses-sdk android:minSdkVersion="4" android:targetSdkVersion="15" /> ... </manifest>
一个新的版本发布,一些样式和行为就可以改变。为了能利用这些改变去确保你的程序适用于每个用户的设备,你应该设置targetSdkVersion值去匹配最新的版本。
运行时检查系统版本
Android在Build常量类中为每个版本提供了一个唯一的代号。在程序中使用这个代号去判断支持的版本,确保部分代码能在更高的版本中被执行。
private void setUpActionBar() { //确保你能在蜂巢或者更高版本中使用ActionBar APIs if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.HONEYCOMB) { ActionBar actionBar = getActionBar(); actionBar.setDisplayHomeAsUpEnabled(true); } }
提示:当解析XML资源时,Android会忽略当前设备不支持的XML属性。所以你可以安全的使用新版本的XML属性,而不用担心老版本会报错。例如,如果你设置了targetSdkVersion="11",你的程序在Android3.0或者更高版本中默认包含了ActionBar。为了添加菜单项到action bar中,你必须设置android:showAsAction="ifRoom"在menu资源文件中,这样做是安全的,因为老版本会简单的忽略这个属性。(在这里,你不需要在res/menu-v11中添加一个特别版本)
使用平台的风格和主题
Android提供了一些主题给程序使用,让程序看上去更像基本的操作系统。这些主题可以在你的manifest文件中设置。使用了这些样式和主题,你的程序将会很自然的展现在最新版本的系统中。
让你的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">
让你整个程序(所有activity)使用一个主题,在<application>元素中添加android:theme属性:
<application android:theme="@style/CustomTheme">
了解更多创建和使用主题的知识,可以看这里: Styles
and Themes
相关文章推荐
- Android官方开发文档Training系列课程中文版:支持不同的设备之支持不同的平台版本
- 【Android Developers Training】 13. 支持不同平台版本
- Android 支持不同的SDK版本平台
- Android官方入门文档[11]支持不同平台版本
- Training--支持不同的平台版本
- Android教程入门:不同平台版本支持
- Android开发基础教程 支持不同设备——支持不同(Android)平台版本
- Android官方文档---支持不同的平台版本
- Android培训---支持不同的平台版本
- Android学习路线(十九)支持不同设备——支持不同(Android)平台版本
- Android - 支持不同的设备 - 支持不同的平台版本
- Android开发第3-3课:支持不同的平台版本
- 安卓训练-开始-支持不同的设备-支持不同的平台版本
- Go 语言将在1.4版本中支持面向Android平台开发
- Android Training - 适配不同的屏幕(Lesson 1 - 支持不同的屏幕大小)
- 支持不同的平台版本
- Android平台版本支持的API级别
- Android学习路线(十九)支持不同设备——支持不同(Android)平台版本号
- Supporting Different Platform Versions(如何支持不同版本的安卓平台)
- Android官方开发文档Training系列课程中文版:支持不同的设备之支持不同的屏幕