谷歌API指南:设备通用性 1/2

初二英文水平+金山词霸强行翻译谷歌api指南

源地址:http://developer.android.com/intl/zh-tw/guide/practices/compatibility.html

设备通用性

1.安卓是为了在许多不同类型的设备上运行而设计的,从手机到平板电脑、电视机。作为一个开发者,设备易用性为您的应用提供了大量的潜在受众。为了使你的应用程序在所有这些设备上成功运行,它应该允许一些特征的变化,提供一个灵活的用户界面,适应不同的屏幕配置。

2.为了方便你的工作,安卓系统提供了一个动态的应用程序框架,您可以在静态文件中提供配置特定的应用程序资源(如不同的屏幕大小的不同的XML布局)。然后程序根据当前设备配置加载适当的资源。所以考虑到您的应用程序的设计和一些额外的应用程序的资源,你可以发布一个应用程序包(APK),提供最佳的用户体验上的各种设备。

3.如果有必要,您可以使您的应用程序具有哪些功能要求和控制的特征,这类型的设备可以安装您的应用程序从谷歌play商店。本页解释了如何控制哪些设备可以访问您的应用程序,以及如何准备您的应用程序,以确保他们到达正确的受众。有关如何使您的应用程序可以适应不同的设备,点此获取支持不同的设备的更多信息。

“通用性”是什么意思

当你读到更多关于安卓开发的文档,可能会在各种情况下会遇到“兼容性”这个词。有2种兼容性:设备兼容性和应用程序兼容性。

因为安卓是一个开源的项目,任何硬件尝试都能建立一个设备运行安卓操作系统。但只有能正确运行安卓app的运行环境,才是一个安卓兼容的设备,Android运行环境的准确定义是由Android兼容程序和每个设备必须通过兼容性测试套件(CTS)才能被认为是兼容的。
作为一个app开发者,你不需要担心哪个设备是兼容的,因为只有兼容的设备才能访问谷歌play市场。所以你可以确信从谷歌play市场安装你app的设备都是兼容设备。
然而,你得考虑你的应用程序是否需要与每一个潜在的设备配置兼容。因为安卓运行在非常多种的设备种,不是所有的功能都能运行在所有设备上。例如,某些设备可能没有指南针传感器。如果你的应用程序的核心功能需要使用指南针传感器,那么你的应用程序只能和具有一个指南针传感器的设备兼容。

让你的app对设备有用
安卓支持多种功能,您的应用程序可以利用通过平台的接口。有些功能是基于硬件的(如指南针传感器),一些是基于软件的(如应用程序部件),和一些是依赖于平台版本。不是每个设备都支持的每一个功能,所以你可能需要控制你的应用程序的可用性设备的基础上你的应用程序所需的功能。

让你的app实现最大化的可用性,你应该使用一个apk来支持尽可能多的设备。在大多数情况下,你可以通过禁用可选项和资源来适应不同的配置(如在不同的屏幕大小上不同的布局)无论怎样,如果有必要,你可以通过谷歌paly市场跟随设备的特性限制你的应用程序:

设备特征

平台版本

屏幕布局

设备特征

基于设备特征管理你的app可用性,安卓可能无法在所有设备上实现为任意软硬件明确ID。例如,指南针的特征ID是FEATURE_SENSOR_COMPASS 窗口小部件的特征ID是feature_app_widgets
例如,你的app没有感知到指南针,你可以按照下面代码定义指南针传感器

<manifest ... >
    <uses-feature android:name="android.hardware.sensor.compass"
                  android:required="true" />
    ...
</manifest>

谷歌play商店在每个用户的设备上对你的应用程序需要的功能,以确定你的应用程序是否与每个设备兼容。如果设备不提供您的应用程序的所有功能,用户不能安装您的应用程序。

然而,如果你的应用程序的功能不需要一个设备的功能,你应该将所需的属性设置为“false”,并在功能在运行时检查设备。如果该应用程序功能是不可用的当前设备,优雅地降低了相应的应用程序功能。例如,你可以查询是否有功能可通过调用hassystemfeature()这样:

PackageManager pm = getPackageManager();
if (!pm.hasSystemFeature(PackageManager.FEATURE_SENSOR_COMPASS)) {
    // This device does not have a compass, turn off the compass feature
    disableCompassFeature();
}

关于所有的过滤器信息,你可以通过谷歌play商店控制应用程序的可用性,在谷歌paly看过滤器文档。

注:某些系统允许隐藏设备可用性特征。例如,如果你的应用需要蓝牙的使用权限,这毫无疑问的要求设备中的蓝牙权限。你可以禁用基于此功能的过滤,通过在<使用特点>标签设置没有蓝牙,让你的app在没有蓝牙的设备上可用。更多关于确认设备特征的信息,读取特征所需的权限许可。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值