Supporting Different Platform Versions(如何支持不同版本的安卓平台)
2015-12-31 11:35
218 查看
当最新发布的android平台为你的应用提供非常棒的api的同时,你也应该确保你的应用能够在那些依然使用着旧版本的android设备上正常运行,直到这些用户更换新手机为止。这节课,我们将教你如何将最新的api使用到旧版本上。
根据设备访问谷歌商店的统计表格的定期更新上可以看到,每个设备运行的版本以及它们的分布。一般来说一个优秀的app需要支持将近90%的安卓设备。
提示:为了能够在各个版本的android设备上提供可靠的性能,开发者必须在其自己的app中添加 Android Support Library。1、Specify Minimum and Target API Levels(指定最小以及目标api等级)
在AndroidManifest.xml文件中具体描述了开发者的app的支持版本
2、Check System Version at Runtime(在运行时检查系统版本)android在编译class时会为每个版本的平台提供一个独一无二的代码,使用这些代码可以确保高等级的api只能运行在高等级的版本中。
3.0或更高版本。你只需要设置
3、Use
Platform Styles and Themes(使用平台自带的样式和主题)android提供了可以用户自己定制的主题。这类主题需要在清单文件中添加。
让你的activity看起来像一个对话框。
将你的自定义theme应用到整个app,添加android:theme
根据设备访问谷歌商店的统计表格的定期更新上可以看到,每个设备运行的版本以及它们的分布。一般来说一个优秀的app需要支持将近90%的安卓设备。
提示:为了能够在各个版本的android设备上提供可靠的性能,开发者必须在其自己的app中添加 Android Support Library。1、Specify Minimum and Target API Levels(指定最小以及目标api等级)
在AndroidManifest.xml文件中具体描述了开发者的app的支持版本
<manifestxmlns:android="http://schemas.android.com/apk/res/android" ... > <uses-sdkandroid:minSdkVersion="4"android:targetSdkVersion="15"/> ... </manifest>
2、Check System Version at Runtime(在运行时检查系统版本)android在编译class时会为每个版本的平台提供一个独一无二的代码,使用这些代码可以确保高等级的api只能运行在高等级的版本中。
privatevoid 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); } }注意 :android在解析xml资源的时候会忽略xml属性是否能够被当前设备版本所支持。因此你可以放心的使用这些只在最新的版本中才支持的xml属性而不必担心其会出错。例如,你设置了targetSdkVersion=‘11’,你的app包含了ActionBar这类默认在android
3.0或更高版本。你只需要设置
android:showAsAction="ifRoom"在你的xml中,旧版本的android平台会自动忽略showAsAction,而不必将xml分割成各个版本类似于
res/menu-v11/
3、Use
Platform Styles and Themes(使用平台自带的样式和主题)android提供了可以用户自己定制的主题。这类主题需要在清单文件中添加。
让你的activity看起来像一个对话框。
<activityandroid:theme="@android:style/Theme.Dialog">确保你的activity有个透明的背景。
<activityandroid:theme="@android:style/Theme.Translucent">将你的自定义theme定义在
/res/values/styles.xml:
<activityandroid:theme="@style/CustomTheme">
将你的自定义theme应用到整个app,添加android:theme
<applicationandroid:theme="@style/CustomTheme">
相关文章推荐
- jQuery实现的点赞随机数字显示动画效果(附在线演示与demo源码下载)
- JavaScript最佳实践,持续更新
- FEC前向纠错算法
- Session 与 jsessionid
- AngularJS中实现显示或隐藏动画效果的方式总结
- moment.js 日期和时间管理 24小时制
- 关于LCD的分屏与切屏 Tearing effect
- 页面加载完再触发js
- 鼠标hover 加样式,并且当前active样式消失
- javascript数据类型验证方法
- 我们通常会采用attr方法来给元素设置属性,其实attr方法同样是能够得到元素对应的属性的
- js 面向对象
- 如何编写一个JSON解析器
- 使用Web Audio API实现基于浏览器的Web端录音
- JavaScript 中 关于 this 的学习笔记
- jQuery操作基本控件方法实例分析
- Newtonsoft.Json高级用法
- JQuery和JSON方式参数传递并处理JAVAWEB中文乱码问题
- js中的面向对象
- js中this的用法