安卓手机APP开发__支持不同的平台版本
目录
概述
当安卓的最新的版本为你的APP提供了很好的API,你应该继续支持安卓的旧版本,
直到更多的设备已经升级为安卓的新版本了.这里展示了你如何利用最新的API,
同时还能很好地支持安卓的旧版本.
使用安卓工作台的新项目向导,来找到运行各个版本的安卓的活跃设备的分发版本.
这个分发版本是基于访问谷歌应用商店的设备的数量.一般来说,我们推荐支持活跃设备
的数量的90%,同时你的APP的目标版本是最新的版本.
提示:为了跨几个安卓版本,提供最佳的特性和功能,你应该在你的APP中使用
安卓支持库,这允许你使用老版本上的平台的API.
指定最小的和目标的API的级别
安卓的配置文件描述了关于你的APP和APP支持哪些安卓版本的详细的信息.
特别是,最小SDK版本和目标SDK版本这两个属性,是<uses-sdk>标签标识了
API的能兼容的最小级别和APP的设计和测试的目标级别.
例如:
<manifest xmlns:android="http://schemas.android.com/apk/res/android" ... >
<uses-sdk android:minSdkVersion="4" android:targetSdkVersion="15" />
...
</manifest>
当安卓的新版本发布了,一些风格与行为可能会改变.为了允许你的APP利用这些改变,
并且确保你的APP适合每一个用户设备的风格,你应该设置目标SDK的版本来匹配
可用的安卓的最新版本。
检查运行时的系统版本
安卓在构建的常数类中,为每一个平台版本都提供了一个独特的代码。
在你的APP中,使用这些代码来构建保持你的代码依赖于更高的API级别的条件,
Kotlin
private fun setUpActionBar() {
// Make sure we're running on Honeycomb or higher to use ActionBar APIs
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.HONEYCOMB) {
actionBar.setDisplayHomeAsUpEnabled(true)
}
}
注意:当解析XML资源时,安卓忽略了不被当前的设备支持的XML属性。所以你能够
安全地使用XML属性,这些属性是仅被新的版本支持的属性,你不用担心旧版本被破坏。
例如,你设置了目标SDK的版本是11,你的APP包括了由安卓3及以上默认支持的动作条。
为了在动作条上添加菜单项,你需要在你的菜单资源XML文件中设置android:showAsAction="ifRoom"
在一个跨版本的XML文件中,这么做是安全的,因为安卓的旧版本可以很容易地忽略
showAsAction这个属性。
使用平台的风格和主题
安卓提供了用户体验主题,给APP相应的操作系统下的外观和界面皮肤。这些主题
能使用配置文件应用到你的APP中。通过使用内嵌的风格和主题,你的APP能够很自然
地遵循安卓的每一个发布版本的风格和外观了。
为了让你的活动看起来像一个对话框:
<activity android:theme="@android:style/Theme.Dialog">
为了让你的活动有一个透明的背景:
<activity android:theme="@android:style/Theme.Translucent">
为了应用在/res/values/styles.xml文件定义的你自己的定制的主题:
<activity android:theme="@style/CustomTheme">
在你的整个APP(所有的活动)中,为了应用一个主题,在<application>元素中
添加一个属性android:theme:
<application android:theme="@style/CustomTheme">
为了了解更多的关于创建和使用主题的信息,见风格和主题的指导。