Android官方入门文档[11]支持不同平台版本

简介: Android官方入门文档[11]支持不同平台版本Supporting Different Platform Versions支持不同平台版本 This lesson teaches you to1.

Android官方入门文档[11]支持不同平台版本


Supporting Different Platform Versions
支持不同平台版本

 

This lesson teaches you to
1.Specify Minimum and Target API Levels
2.Check System Version at Runtime
3.Use Platform Styles and Themes

You should also read
•Android API Levels
•Android Support Library

这节课教你
1.指定最小和目标API级别
2.检查系统版本在运行
3.使用平台的样式和主题

你也应该阅读
•Android的API级别
•Android的支持库

While the latest versions of Android often provide great APIs for your app, you should continue to support older versions of Android until more devices get updated. This lesson shows you how to take advantage of the latest APIs while continuing to support older versions as well.
而Android的最新版本经常为你的应用程序提供了巨大的API,你应该继续支持老版本的Android,直到更多的设备得到更新。本课向您展示如何利用最新的API的优势,同时继续支持旧版本也是如此。

The dashboard for Platform Versions is updated regularly to show the distribution of active devices running each version of Android, based on the number of devices that visit the Google Play Store. Generally, it’s a good practice to support about 90% of the active devices, while targeting your app to the latest version.
仪表板为平台版本会定期更新,以显示运行的每个版本的Android,基于该访问谷歌Play商店的设备数量激活设备的分布。一般情况下,这是一个很好的做法,支持约90%的激活设备,而针对您的应用程序至最新版本。

Tip: In order to provide the best features and functionality across several Android versions, you should use the Android Support Library in your app, which allows you to use several recent platform APIs on older versions.
提示:为了跨几款Android版本提供最佳的特性和功能,你应该使用Android的支持库在你的应用程序,它允许您使用最近几个平台API的旧版本。

 

Specify Minimum and Target API Levels
指定最小和目标API级别


--------------------------------------------------------------------------------

The AndroidManifest.xml file describes details about your app and identifies which versions of Android it supports. Specifically, the minSdkVersion and targetSdkVersion attributes for the <uses-sdk element identify the lowest API level with which your app is compatible and the highest API level against which you’ve designed and tested your app.
AndroidManifest.xml文件描述了你的应用程序识别其中的Android版本,它支持的细节。具体来说,minSdkVersion属性targetSdkVersion为<uses-sdk元素标识的最低API级别与您的应用程序是兼容的,最高的API水平,使你的设计和测试您的应用程序。

For example:
例如:

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

As new versions of Android are released, some style and behaviors may change. To allow your app to take advantage of these changes and ensure that your app fits the style of each user's device, you should set the targetSdkVersion value to match the latest Android version available.
由于Android的新版本发布,一些风格和行为可能会改变。为了让您的应用程序把这些变化的优势,并确保您的应用程序适合每个用户的设备的风格,你应该设置targetSdkVersion值以匹配最新的Android版本。

 

Check System Version at Runtime
在运行时检查系统版本

 

--------------------------------------------------------------------------------

Android provides a unique code for each platform version in the Build constants class. Use these codes within your app to build conditions that ensure the code that depends on higher API levels is executed only when those APIs are available on the system.
Android提供了每个平台版本生成的常量类的唯一代码。使用你的应用程序中的这些代码来构建确保执行依赖于较高的API级别,只有当这些API可在系统上的代码的条件。

Note: When parsing XML resources, Android ignores XML attributes that aren’t supported by the current device. So you can safely use XML attributes that are only supported by newer versions without worrying about older versions breaking when they encounter that code. For example, if you set the targetSdkVersion="11", your app includes the ActionBar by default on Android 3.0 and higher. To then add menu items to the action bar, you need to set android:showAsAction="ifRoom" in your menu resource XML. It's safe to do this in a cross-version XML file, because the older versions of Android simply ignore the showAsAction attribute (that is, you do not need a separate version in res/menu-v11/).
注:当解析XML资源,Android的忽略那些不支持当前设备XML属性。所以你可以放心地使用那些无需担心旧版本,他们遇到的代码时,打破仅受新版本XML属性。例如,如果你设置了targetSdkVersion=“11”,你的应用程序包括在Android3.0及更高的动作条在默认情况下。为了再添加菜单项的动作吧,你需要设置的android:在你的菜单资源XML showAsAction=“ifRoom”。它的安全做到这一点的跨版本的XML文件,因为旧版本的Android根本无视showAsAction属性(也就是,你并不需要一个单独的版本在res/menu-v11/)。

 

Use Platform Styles and Themes
使用平台样式和主题


--------------------------------------------------------------------------------

Android provides user experience themes that give apps the look and feel of the underlying operating system. These themes can be applied to your app within the manifest file. By using these built in styles and themes, your app will naturally follow the latest look and feel of Android with each new release.
Android提供的用户体验的主题,让应用程序底层操作系统的外观和感觉。这些主题可以应用到你的应用程序清单文件中。通过使用这些内置的风格和主题,你的应用程序自然会按照最新的Android外观和感觉与每个新版本。

To make your activity look like a dialog box:
为了让你的activity活动看起来像一个对话框:
<activity android:theme="@android:style/Theme.Dialog">

To make your activity have a transparent background:
为了让你的活动有一个透明的背景:
<activity android:theme="@android:style/Theme.Translucent">

To apply your own custom theme defined in /res/values/styles.xml:
适用于/res/values/styles.xml定义你自己的自定义主题:
<activity android:theme="@style/CustomTheme">

To apply a theme to your entire app (all activities), add the android:theme attribute to the <application> element:
要将主题应用到整个应用程序(所有活动),添加了android:theme属性到<应用程序>元素:
<application android:theme="@style/CustomTheme">

For more about creating and using themes, read the Styles and Themes guide.
欲了解更多有关创建和使用主题,阅读风格和主题指导。

  Next class: Managing the Activity Lifecycle
  下一们课程:管理活动的生命周期

本文翻译自:https://developer.android.com/training/basics/supporting-devices/platforms.html

目录
相关文章
|
1天前
|
人工智能 Android开发 iOS开发
安卓与iOS开发:平台选择的艺术
在移动应用开发的广阔天地里,安卓和iOS两大操作系统各占半壁江山。本文将深入探讨这两个平台的开发环境、工具及市场趋势,帮助开发者在选择适合自己项目的平台时做出更明智的决策。通过比较各自的优势与局限,我们不仅能更好地理解每个系统的核心特性,还能洞察未来技术发展的脉络。无论你是刚入行的新手还是资深开发者,这篇文章都将为你提供有价值的参考和启示。
12 5
|
2天前
|
移动开发 开发工具 Android开发
安卓与iOS开发:平台差异及其对开发者的影响
在移动开发的大潮中,安卓和iOS两大阵营各领风骚。本文将探讨这两个平台的关键差异,包括开发环境、编程语言、用户界面设计、应用分发以及商业模式等方面。通过比较分析,我们旨在为开发者提供一个清晰的指导,帮助他们根据项目需求和个人偏好做出明智的平台选择。同时,文章也将分享一些跨平台开发工具的使用经验,以期最大化开发效率和市场覆盖。
|
3天前
|
移动开发 Android开发 Swift
安卓与iOS开发环境对比:选择合适的平台
在数字时代的浪潮中,移动应用开发成为技术前沿的热门领域。两大主流操作系统——安卓和iOS,各自拥有独特的开发环境与生态。本文将深入探讨这两种平台的开发特点,帮助开发者根据自己的需求和资源选择最合适的开发路径。从工具支持到用户群体,从编程语言到市场分布,我们将一一剖析,为即将踏上移动开发之旅的朋友们提供一盏明灯。
|
3天前
|
Java 开发工具 Android开发
安卓与iOS开发:平台选择对项目成功的影响
在移动应用开发的浩瀚宇宙中,安卓和iOS两大星系璀璨夺目,各自拥有独特的光芒。本文将穿梭于这两个平台之间,探讨它们在开发环境、用户群体、成本效益等方面的差异,以及这些差异如何影响一个项目的航向和终点。我们将从初学者的视角出发,逐步深入,揭示选择合适平台的重要性,以及如何根据项目需求做出明智的选择。无论你是即将启航的新手开发者,还是已经在这片星海中航行的老手,这篇文章都将为你提供有价值的导航信息。
13 2
|
7天前
|
Web App开发 网络协议 Android开发
Android平台一对一音视频通话方案大比拼:WebRTC VS RTMP VS RTSP,谁才是王者?
【9月更文挑战第4天】本文详细对比了在Android平台上实现一对一音视频通话时常用的WebRTC、RTMP及RTSP三种技术方案。从技术原理、性能表现与开发难度等方面进行了深入分析,并提供了示例代码。WebRTC适合追求低延迟和高质量的场景,但开发成本较高;RTMP和RTSP则在简化开发流程的同时仍能保持较好的传输效果,适用于不同需求的应用场景。
29 1
|
8天前
|
存储 缓存 搜索推荐
打造个性化天气应用:Android 平台上的天气预报小助手
【9月更文挑战第2天】在这篇文章中,我们将一起探索如何从零开始构建一个简单却功能强大的天气应用。通过这个指南,你将学会如何在 Android 平台上使用 Java 编程语言和相关 API 来创建你自己的天气预报小助手。文章不仅提供了代码示例,还深入讨论了设计思路、用户界面优化以及数据管理等关键方面,旨在帮助初学者理解并实现一个完整的应用项目。
|
8天前
|
Java 开发工具 Android开发
探索安卓与iOS开发的差异:平台选择对项目的影响
在移动应用开发的广阔天地中,安卓和iOS两大平台各自占据着重要的位置。本文旨在深入探讨这两个平台在开发过程中的主要差异,包括编程语言、开发工具、用户界面设计、性能优化以及市场分布等方面。通过对比分析,我们将揭示平台选择如何影响项目规划、执行效率和最终成果,为开发者在选择适合自己项目需求的平台时提供参考依据。
|
12天前
|
移动开发 开发工具 Android开发
安卓与iOS开发环境对比:选择适合你的平台
【8月更文挑战第30天】 在移动应用开发的广阔天地中,安卓和iOS两大平台各领风骚。本文将深入浅出地分析这两个平台的开发环境,从工具、语言到用户群体等多个维度进行比较,旨在帮助开发者根据自己的技能和市场需求做出明智的选择。无论你是初涉移动开发领域的新手,还是寻求扩展技能边界的资深开发者,这篇文章都将为你提供有价值的见解和建议。
22 1
|
16天前
|
安全 Android开发 Swift
安卓与iOS开发:平台差异与技术选择
【8月更文挑战第26天】 在移动应用开发的广阔天地中,安卓和iOS两大平台各占一方。本文旨在探索这两个系统在开发过程中的不同之处,并分析开发者如何根据项目需求选择合适的技术栈。通过深入浅出的对比,我们将揭示各自平台的优势与挑战,帮助开发者做出更明智的决策。
|
14天前
|
开发工具 git 索引
repo sync 更新源码 android-12.0.0_r34, fatal: 不能重置索引文件至版本 ‘v2.27^0‘。
本文描述了在更新AOSP 12源码时遇到的repo同步错误,并提供了通过手动git pull更新repo工具来解决这一问题的方法。
37 1
下一篇
DDNS