Develop系列-API Guides-简介-设备兼容性
16lz
2021-01-26
设备兼容性
手机--平板--电视,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
| | | | |
---|---|---|---|---|
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 |
更多相关文章
- ADB和DDMS简介
- 【学习笔记】Android(安卓)调试桥
- android 应用程序调试-03
- Android(安卓)ADB 找不到 Devices 的解决方法
- 深入理解Android日志系统
- Android开发 ADB配置调试命令图解
- android设备连接蓝牙外设导致activity重启(recreate)的问题
- windows 7 下安装 Android(安卓)设备驱动
- Android用户不想让iOS用户知道的9个杀手性功能