Android培训---支持不同的平台版本
来源:互联网 发布:上海plc编程培训 编辑:程序博客网 时间:2024/05/22 20:28
尽管最新的Android版本经常会给的应用程序提供更好的API,但是你还是应该支持较旧的Android版本,一直到更多的设备更新到新的Android平台。本节课向你介绍如何在利用最新的API的同时继续支持较旧的版本。
定期更新的Platform Versions表显示了运行每个Android版本设备的发布情况,这个表中的数据是基于访问Google Play Store的设备数量来统计的。通常,支持90%左右的活动设备是一个比较好的选择,同时你的应用程序还要支持最新的版本。
提示:为了提供更好的功能以及跨几个Android版本的功能性,你应该在你应用程序中使用Android Support Library,这样就可以在较旧的版本上使用最接近的平台版本。
指定最小和目标API等级
AndroidManifest.xml文件描述了应用程序相关的细节,并标识了它所支持的Android版本。尤其是<uses-sdk>元素的minSdkVersion和targetSdkVersion属性标识了你的应用程序所兼容的最低的API等级,以及你设计和测试的应用程序所依赖的最高API等级。
例如:
<manifest xmlns:android="http://schemas.android.com/apk/res/android" ... >
<uses-sdk android:minSdkVersion="4" android:targetSdkVersion="15" />
...
</manifest>
当Android发布了新的版本时,某些样式和行为可能会改变。要允许你的应用程序利用这些改变,并确保你的应用程序适应每个用户设备的样式,你应该targetSdkVersion值,让你的应用程序跟最新的可用Android版本相匹配。
在运行时检查系统版本
Android在Build常量类中给每个平台版本都提供了一个唯一的编码。在你的应用程序中使用这些编码来进行条件编译,从而确保依赖较高API等级的代码只有在系统上有可用的API时才被执行。
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);
}
}
注意:在解析XML资源时,Android会忽略那些当前设备不支持的XML属性。因此,你可以安全的使用那些只有在较新版本中才被支持的XML属性,而不必担心较低版本在遇到这些代码是会被中断。例如,如果你设置targetSdkVersion=”11”,默认情况下,你的应用程序在Android3.0以上会包含ActionBar。如果要把菜单项添加到操作栏,你需要在菜单资源XML中设置android:showAsAction=”ifRoom”。在跨版本的XML文件中,这样做是安全的,因为较旧的Android本表只是简单的忽略showAsAction属性(也就是说,你不需要一个单独的res/menu-v11/目录)
使用平台样式和主题
Android提供了基于操作系统的外观和感觉的用户体验主题。这些主题可以在清单文件中使用。通过使用这些内置的样式和主题,你的应用程序会自然的按照最新发布的Android的外观和感觉来显示。
让你的Activity外观像一个对话框:
<activityandroid:theme="@android:style/Theme.Dialog">
让你的Activity有一个透明的背景:
<activityandroid:theme="@android:style/Theme.Translucent">
使用res/values/styles.xml中自定义的样式:
<activityandroid:theme="@style/CustomTheme">
要让一个主题应用于整个应用程序(程序中所有的Activity),就要把android:theme属性添加到<application>元素中:
<applicationandroid:theme="@style/CustomTheme">
创建和使用主题的更多信息,请读样式和主题指南。
- Android培训---支持不同的平台版本
- Android 支持不同的SDK版本平台
- 支持不同的平台版本
- Android官方文档---支持不同的平台版本
- Android Training - 支持不同平台版本
- Android教程入门:不同平台版本支持
- Android培训---支持不同的语言
- Android培训---支持不同的屏幕
- Training--支持不同的平台版本
- Android官方开发文档Training系列课程中文版:支持不同的设备之支持不同的平台版本
- 3.3 支持不同平台版本
- android开发实战系列(14)-- 不同平台版本支持
- Android官方入门文档[11]支持不同平台版本
- Android学习路线(十九)支持不同设备——支持不同(Android)平台版本
- Android开发基础教程 支持不同设备——支持不同(Android)平台版本
- Android开发第3-3课:支持不同的平台版本
- Android不同平台版本
- (完结)Android官方培训课-支持不同的语言
- 获取sqlserver数据库中所有库、表、字段名的方法
- Linux之Vim使用
- 协调多个对象之间的交互——中介者模式(一)
- JAVA中int、String的类型转换
- 网站特殊字体处理
- Android培训---支持不同的平台版本
- IOS开发之——改进iOS客户端的升级提醒功能
- 大话设计模式1 简单工厂模式 策略模式
- IE6不能主动识别UTF-8编码,导致空白页面的问题
- [疯狂Java讲义精粹] 第十一章|多线程
- 流程控制语句(C#)
- TinyOS之UDPEcho(一) - 精简程序
- 最短路 1006
- fedora 设置汉语输入法