Develop系列-API Guides-简介-设备兼容性

设备兼容性

手机--平板--电视,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
posted @ 2014-08-07 20:45  konger  阅读(305)  评论(0编辑  收藏  举报