• 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
  • 相关阅读:
    redis-cluster
    Mycat-主从结构的准备
    Mycat-多实例的搭建
    MSC添加shard节点
    MongoDB -MSC集群的部署
    MySQL知识-redis实例
    MySQL知识-MySQL不同版本多实例
    #Linux学习# 用户和用户组管理
    #Linux学习# 软件包管理
    #Linux学习# 文本编辑器vim
  • 原文地址:https://www.cnblogs.com/konger/p/3898035.html
Copyright © 2020-2023  润新知