设备兼容性

手机--平板--电视,Android需要广泛兼容。开发者需要灵活适配多种不同的屏幕。

何为兼容性?

设备兼容性:Android兼容,Android compatibility program && CTS

app兼容性:app对于潜在的设备是兼容的

控制app兼容性

大部分情况下,你可以运行时禁用部分特性,或者为不同配置的设备提供适配资源。

如有必要,可以通过Google Play Store限制app在不支持设备上的安装:

设备特性

1、特性必须有才能用的app,可以用manifest来强制指定:

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

Google Play Store会比较app需要的特性和当前手机支持的特性,如上定义,如果手机没有指南针硬件,那么将无法安装有此特性要求的app

2、特性可以有,可以没有,需要通过代码动态判断来裁剪功能:

PackageManager pm = getPackageManager();if (!pm.hasSystemFeature(PackageManager.FEATURE_SENSOR_COMPASS)) {    // 设备如果没有指南针硬件,可以屏蔽指南针相关的功能    disableCompassFeature();}

平台版本

1、app使用的api接口是在某个Android之上才有的,那必须要加上<uses-sdk>minSdkVersion,比如:

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

miniSdkVersion是指app能够兼容的最小版本号;而targetSdkVersion是指app能完美运行的最大版本号。

2、代码动态判断版本来裁剪功能:

if (Build.VERSION.SDK_INT < Build.VERSION_CODES.HONEYCOMB) {    // 版本低于API Level 11时,可以禁用ClipboardManager apis中的drag/drop特性    disableDragAndDrop();}

屏幕配置

屏幕大小:屏幕物理大小

屏幕密度:对角DPI

Low density (120),ldpi Medium density (160),mdpi High density (240),hdpi Extra high density (320),xhdpi
Smallscreen QVGA (240x320) 480x640
Normalscreen WQVGA400 (240x400)
WQVGA432 (240x432)
HVGA (320x480) WVGA800 (480x800)
WVGA854 (480x854)
600x1024
640x960
Largescreen WVGA800** (480x800)
WVGA854** (480x854)
WVGA800* (480x800)
WVGA854* (480x854)
600x1024
Extra Largescreen 1024x600 WXGA (1280x800)
1024x768
1280x768
1536x1152
1920x1152
1920x1200
2048x1536
2560x1536
2560x1600

更多相关文章

  1. ADB和DDMS简介
  2. 【学习笔记】Android(安卓)调试桥
  3. android 应用程序调试-03
  4. Android(安卓)ADB 找不到 Devices 的解决方法
  5. 深入理解Android日志系统
  6. Android开发 ADB配置调试命令图解
  7. android设备连接蓝牙外设导致activity重启(recreate)的问题
  8. windows 7 下安装 Android(安卓)设备驱动
  9. Android用户不想让iOS用户知道的9个杀手性功能

随机推荐

  1. 【转】Mozilla研究—深入理解mozilla所需
  2. 总结一些更多的针对webkit的HTML, CSS和J
  3. 韩顺平_轻松搞定网页设计(html+css+javas
  4. Python-html课程基础复习
  5. html中页面传递参数不用cookie不用缓存,j
  6. sp_send_dbmail在body中嵌入mhtml文件
  7. 2个div内容交换不用innerHTML似乎办不到?
  8. 8.HTML5 CSS3 背景、边框与补丁相关属性
  9. 我想把桌子设置成全高和宽
  10. HTML中上传与读取图片或文件(input file)--