APP如何适配不同的Android版本
来源:互联网 发布:大数据培训多少钱 达内 编辑:程序博客网 时间:2024/06/06 08:41
Android的最新版本会提供一些很棒的API,您的APP使用新版本API的同时也要兼容旧的Android版本,直到更多设备已更新到新版本的APP。本文档将向您展示如何利用最新的API,同时继续支持旧版本。
根据对访问Google Play商店的设备数量的统计,平台版本分布表会进行定期更新,以显示运行每个版本的Android设备的分布情况。一般来说,一个APP最好能支持大约90%的活动设备,同时使用最新的Android版本。
提示:为了在多个Android版本中提供最佳特性和功能,您应该在APP中使用Android Support Library,这样可以在旧版本上使用几种最新的平台API。
指定Minimum和Target API Levels
AndroidManifest.xml文件描述APP的详细信息,并标识其支持的Android版本。具体来说,<uses-sdk>
元素的minSdkVersion
和targetSdkVersion
属性标识了APP兼容的最低和最高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常量类中为每个平台版本提供了一个唯一的编码。APP用这个编码来确保只有系统支持高版本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”
,则APP在Android 3.0及更高版本上默认包含ActionBar。如果要将menu项添加到action bar,您需要在menu资源XML中设置android:showAsAction =“ifRoom”
。 在跨版本的XML文件中可以安全地执行此操作,因为较旧版本的Android只会忽略showAsAction
属性(即,不需要在res / menu-v11 /
中添加一个单独的menu资源)。
使用平台样式和主题
APP可以使用Android提供的主题,使APP的UI看起来和底层操作系统一致。可以在manifest文件中配置APP的主题。使用这些内置的样式和主题,APP将遵循Android平台提供的最新风格和主题。
使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">
要将主题应用于整个APP(所有Activity),请将android:theme
属性添加到<application>
元素中:
<application android:theme="@style/CustomTheme">
有关创建和使用主题的更多信息,请阅读 Styles and Themes指南。
- APP如何适配不同的Android版本
- android 不同版本的适配
- Android适配不同的系统版本
- android中如何使用一张图片适配不同尺寸的APP引导页
- android中如何使用一张图片适配不同屏幕尺寸的APP启动引导页
- android中如何使用一张图片适配不同尺寸的APP引导页
- APP兼容不同的设备之适配不同的系统版本
- Android如何更新app的版本
- Android适配之适配不同的系统版本
- Android适配之适配不同的系统版本
- Android - 资源xml文件适配不同的版本
- 利用productFlavors创建不同版本的App
- Android studio 修改 app的 build.gradle实现同一APP不同版本同时存在(同一APP安装N次)
- Android兼容不同的设备之适配不同的系统版本
- 如何在一个设备上安装一个App的两个不同版本
- 不同版本的APP,数据库结构变化后该如何处理?
- xcode IOS开发中如何让APP的不同版本共存于设备上
- Android适配不同版本、屏幕
- MyBatis 04
- 6-1 循环单链表区间删除(15 分)
- PCA数学原理
- Java 枚举
- redis在centos的安装
- APP如何适配不同的Android版本
- count(1)、count(*)与count(列名)的执行区别
- 【LOJ】 1138 Trailing Zeroes (III)
- OpenLayers3学习三:地图旋转及地图跳转到某一点的方式(以类为接口)
- 实例分析Java class文件内容
- Python:Set的运算
- 调戏源码之Spring MVC(一)
- Tensorflow Optimizer
- Windows Practice_文件_文件基础操作