美文网首页性能优化
「安卓开发指南」——设备兼容性

「安卓开发指南」——设备兼容性

作者: 小武子 | 来源:发表于2015-01-16 23:00 被阅读166次
Device Compatibility

安卓被设计运行在各种各样的设备上面,包括手机、平板、电视甚至卫星。开发者需要注意他们之间的区别,设计不同的用户界面以适应不同的屏幕。在开发过程中,开发者可以设计不同的特定的配置文件,比如不同的XML文件,使不同的设备上有不同的体验,当然你也可以在必要的时候指定那些设备可以安装你的App。

兼容性的含义

兼容性包括设备兼容性和App兼容性两方面。对于开发者而言,这方面不需要太关心,交给Google Play Store就可以了。当然,你也应该考虑该应用是否与潜在的设备兼容,比如使用了螺旋仪等等传感器。

控制设备兼容性

在 Android API Level中定义了设备的兼容性,这些兼容性包括了硬件兼容性、软件兼容性和其他的一些兼容性。当然不是所有的设备都支持这些特性,需要根据需要进行控制App的可用性。

设备的特性

Android设备间各种特性记录下来,并以ID的形式供开发者标注,以便标示不可能在所有设备上运行。如果有必要,可以阻止那些没有相关设备特性的设备安装App,可以使用 <uses-feature>标签,比如标识指南针传感器:

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

这样Google play Store就可以帮你决定哪些设备可以安装你的App,如果不满足某些标记的特性,App将不能被安装。

当然,你也可以将required值设为"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();
}

平台版本

不同的设备可能运行着不同的Android平台,比如说4.0或者4.4,一般来说新的平台会包含一些新的低平台所不具备的API,不同的平台对应不同的API Level,Android 4.4 对应API Level 19,开发者需要申明App所需要的最低的API Level。

<manifest ... >
    <uses-sdk android:minSdkVersion="14" android:targetSdkVersion="19" />
    ...
</manifest>

minSdkVersion 标记了最低API Level, targetSdkVersion标记了最高的API Level。

一些较高的API Level可能更改了某些较低的API Level的某些行为,所以,targetSdkVersion也是很重要的,如果你不更新targetSdkVersion到最新版本,系统假定您的应用程序需要一些向后兼容最新版本的运行时行为。

屏幕配置

Android提供了四种常用的大小表示: small, normal, large, and xlarge。还有几种常用的密度表示:mdpi (medium), hdpi (hdpi), xhdpi (extra high), xxhdpi (extra-extra high), and others。

其他的就不赘述了。

商用原因

很多时候需要根据法律原因和商业原因控制App的特性,Google Play Store 为开发者提供了一个过滤器,允许开发者根据地区和其他非技术性原因提供不同的App版本。


P.S:这里更多的是关于Android的大的方面,看似没有什么,但是感觉却是整个Android的设计思想。这些内容都是一个字一个字码的,难免有错别字,如果有,请指正!

相关文章

  • 「安卓开发指南」——设备兼容性

    安卓被设计运行在各种各样的设备上面,包括手机、平板、电视甚至卫星。开发者需要注意他们之间的区别,设计不同的用户界面...

  • 安卓蓝牙开发填坑之路

    前言 入职不久,也是刚刚接触安卓开发。公司主要业务是嵌入式设备以及可穿戴设备。因此新人主要任务就是学习安卓蓝牙开发...

  • 2.React Native安卓开发环境安装

    翻译自:官网原文在运行React Native安卓应用时,需要一个安卓模拟器。这个指南用于描述基本的安卓开发环境安...

  • 安卓设备上网指南

    安卓设备接入指南 1. 下载影梭APP。 目前GitHub国内已解禁,官方链接点击下载 我的网盘下载,点击获取,密...

  • 2018-10-16检测浏览器及设备的兼容性

    展现类页面测试内容 兼容性测试要考虑哪些 不同浏览器的兼容性常用浏览器 同款浏览器的不同版本 移动设备的兼容性安卓...

  • 一、移动端知识清单

    什么是移动端? 移动端指的是手机(安卓手机,ios手机)、平板电脑(安卓、ios)、ipod等便携设备 作为开发者...

  • mapbox-gl-native 安卓小白编译指南

    mapbox-gl-native安卓小白编译指南 引用:安卓小白编译指南.MD 安装 ubuntu 16.04 d...

  • 安卓自定义View-画圆

    效果图 代码 安卓开发入门教程系列汇总 安卓发展历程及前景 安卓发展历程 安卓开发前景展望 初探安卓 安装开发工...

  • 安卓动画样例-圆环变多变少

    效果图 代码 安卓开发入门教程系列汇总 安卓发展历程及前景 安卓发展历程 安卓开发前景展望 初探安卓 安装开发工...

  • 安卓开发零基础入门系列

    本文由安卓开发007出品 ## 1.1 安卓发展历程## 1.2 安卓开发前景展望## 1.3 安卓开发入门之安装...

网友评论

    本文标题:「安卓开发指南」——设备兼容性

    本文链接:https://www.haomeiwen.com/subject/njvcxttx.html