Android官方开发文档Training系列课程中文版:支持不同的设备之支持不同的平台版本

简介: 原文地址 : http://android.xsoftlab.net/training/basics/supporting-devices/platforms.html每当APP使用了Android所提供的最新版的API时,应用应该继续对老版本提供支持,直到所有的设备都更新到最新版。

原文地址 : http://android.xsoftlab.net/training/basics/supporting-devices/platforms.html

每当APP使用了Android所提供的最新版的API时,应用应该继续对老版本提供支持,直到所有的设备都更新到最新版。这一节将会展示如何使用更流行的新版本API时还能继续良好的支持老版本。

Platform Versions的信息图表会基于访问GooglePlayStore(谷歌应用商店)的许多设备从而有规律的统计更新Android每一个版本的活跃设备分布图。这对于更新APP编译环境到最新Android版本而且还可以支持90%以上的活跃设备来说是最好的实践。

Tips:为了可以在若干个Android版本上还可以提供最佳的特性与功能,你应该在APP中使用 Android Support Library(Android支持库),它可以使得你可以在旧版本上使用若干较新的平台API。

指定最低API等级与目标API等级

文件AndroidManifest.xml详细描述了APP相关的信息以及支持的Android版本。特别的,< uses-sdk标签中的minSdkVersion,targetSdkVersion属性分别指明了APP兼容的最低版本以及最高版本:

<manifest xmlns:android="http://schemas.android.com/apk/res/android" ... >
    <uses-sdk android:minSdkVersion="4" android:targetSdkVersion="15" />
    ...
</manifest>

每当Android的新版本发布,一些风格与习惯可能会被改变。为了允许APP采用这些更为优秀的变化,以确保APP对每一台用户设备进行风格匹配,你应该设置targetSdkVersion的值为最新的安卓可用版本。

在运行时检查系统版本

Android在Build常量类中提供了每一个平台版本的唯一编码。在APP中使用这些编码以确保这些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);
    }
}

Note:当解析XML资源时,Android会自动忽略当前设备不支持的xml属性。所以在使用XML的时候可以完全放心。举个例子,如果你设置了targetSdkVersion=”11”,然后包含了ActionBar的APP默认是跑在Android 3.0及以上的。然后为了向ActionBar上添加菜单按钮,你需要在菜单资源XML文件中添加android:showAsAction=”ifRoom”。在交叉版本的XML文件中这样做是安全的,因为老版本的Android平台会自动忽略showAsAction属性(所以,你就不用专门再在res/menu-v11/中做区分)。

使用平台风格和主题

Android为APP提供了与底层系统感官上相一致的用户体验主题。这些主题可以通过清单文件应用到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中,在< application>标签中添加 android:theme 属性:

<application android:theme="@style/CustomTheme">

更多有关创建和使用主题的相关信息,请参见指南: Styles and Themes

目录
相关文章
|
25天前
|
移动开发 JavaScript 应用服务中间件
【06】优化完善落地页样式内容-精度优化-vue加vite开发实战-做一个非常漂亮的APP下载落地页-支持PC和H5自适应提供安卓苹果鸿蒙下载和网页端访问-优雅草卓伊凡
【06】优化完善落地页样式内容-精度优化-vue加vite开发实战-做一个非常漂亮的APP下载落地页-支持PC和H5自适应提供安卓苹果鸿蒙下载和网页端访问-优雅草卓伊凡
161 5
【06】优化完善落地页样式内容-精度优化-vue加vite开发实战-做一个非常漂亮的APP下载落地页-支持PC和H5自适应提供安卓苹果鸿蒙下载和网页端访问-优雅草卓伊凡
|
1月前
|
移动开发 前端开发 Android开发
【02】建立各项目录和页面标准化产品-vue+vite开发实战-做一个非常漂亮的APP下载落地页-支持PC和H5自适应提供安卓苹果鸿蒙下载和网页端访问-优雅草卓伊凡
【02】建立各项目录和页面标准化产品-vue+vite开发实战-做一个非常漂亮的APP下载落地页-支持PC和H5自适应提供安卓苹果鸿蒙下载和网页端访问-优雅草卓伊凡
224 12
【02】建立各项目录和页面标准化产品-vue+vite开发实战-做一个非常漂亮的APP下载落地页-支持PC和H5自适应提供安卓苹果鸿蒙下载和网页端访问-优雅草卓伊凡
|
1月前
|
移动开发 Rust JavaScript
【01】首页建立-vue+vite开发实战-做一个非常漂亮的APP下载落地页-支持PC和H5自适应提供安卓苹果鸿蒙下载和网页端访问-优雅草卓伊凡
【01】首页建立-vue+vite开发实战-做一个非常漂亮的APP下载落地页-支持PC和H5自适应提供安卓苹果鸿蒙下载和网页端访问-优雅草卓伊凡
480 3
【01】首页建立-vue+vite开发实战-做一个非常漂亮的APP下载落地页-支持PC和H5自适应提供安卓苹果鸿蒙下载和网页端访问-优雅草卓伊凡
|
2月前
|
开发工具 Android开发
X Android SDK file not found: adb.安卓开发常见问题-Android SDK 缺少 `adb`(Android Debug Bridge)-优雅草卓伊凡
X Android SDK file not found: adb.安卓开发常见问题-Android SDK 缺少 `adb`(Android Debug Bridge)-优雅草卓伊凡
446 11
X Android SDK file not found: adb.安卓开发常见问题-Android SDK 缺少 `adb`(Android Debug Bridge)-优雅草卓伊凡
|
30天前
|
移动开发 Android开发
【03】建立隐私关于等相关页面和内容-vue+vite开发实战-做一个非常漂亮的APP下载落地页-支持PC和H5自适应提供安卓苹果鸿蒙下载和网页端访问-优雅草卓伊凡
【03】建立隐私关于等相关页面和内容-vue+vite开发实战-做一个非常漂亮的APP下载落地页-支持PC和H5自适应提供安卓苹果鸿蒙下载和网页端访问-优雅草卓伊凡
100 0
|
2月前
|
Java 开发工具 Maven
【01】完整的安卓二次商业实战-详细的初级步骤同步项目和gradle配置以及开发思路-优雅草伊凡
【01】完整的安卓二次商业实战-详细的初级步骤同步项目和gradle配置以及开发思路-优雅草伊凡
178 6
|
4月前
|
存储 机器学习/深度学习 API
Android API Level 到底是什么?和安卓什么关系?应用发布如何知道自己的版本?优雅草卓伊凡
Android API Level 到底是什么?和安卓什么关系?应用发布如何知道自己的版本?优雅草卓伊凡
727 31
Android API Level 到底是什么?和安卓什么关系?应用发布如何知道自己的版本?优雅草卓伊凡
|
4月前
|
安全 数据库 Android开发
在Android开发中实现两个Intent跳转及数据交换的方法
总结上述内容,在Android开发中,Intent不仅是活动跳转的桥梁,也是两个活动之间进行数据交换的媒介。运用Intent传递数据时需注意数据类型、传输大小限制以及安全性问题的处理,以确保应用的健壯性和安全性。
322 11
|
4月前
|
移动开发 Java 编译器
Kotlin与Jetpack Compose:Android开发生态的演进与架构思考
本文从资深Android工程师视角深入分析Kotlin与Jetpack Compose在Android系统中的技术定位。Kotlin通过空安全、协程等特性解决了Java在移动开发中的痛点,成为Android官方首选语言。Jetpack Compose则引入声明式UI范式,通过重组机制实现高效UI更新。两者结合不仅提升开发效率,更为跨平台战略和现代架构模式提供技术基础,代表了Android开发生态的根本性演进。
165 0
|
8月前
|
JavaScript Linux 网络安全
Termux安卓终端美化与开发实战:从下载到插件优化,小白也能玩转Linux
Termux是一款安卓平台上的开源终端模拟器,支持apt包管理、SSH连接及Python/Node.js/C++开发环境搭建,被誉为“手机上的Linux系统”。其特点包括零ROOT权限、跨平台开发和强大扩展性。本文详细介绍其安装准备、基础与高级环境配置、必备插件推荐、常见问题解决方法以及延伸学习资源,帮助用户充分利用Termux进行开发与学习。适用于Android 7+设备,原创内容转载请注明来源。
1868 77

热门文章

最新文章