Android Build.VERSION.SDK_INT兼容介绍

尽管Android向下兼容不好,但是一个程序还是可以在多个平台上跑的。向下兼容不好,接口改变,新的平台上不能用旧的API,旧的平台更不可能用新的API,不等于一个平台需要一个APK。可以在高SDK上开发,并在程序中作版本判断,低版本运行环境使用旧的API。 

例如要开发一个显示通话记录的程序,需要兼容1.6~2.2,我们知道不同的平台SDK level不同,1.5是3,1.6是4,2.2是8。对应的可以使用android.os.Build进行判断。源代码如下: 

Java代码收藏代码

  1. if(Build.VERSION.SDK_INT <= 4)
  2. {
  3. Toast.makeText(this, "version" + Build.VERSION.RELEASE+ " :" + Build.VERSION.SDK_INT, Toast.LENGTH_SHORT).show();
  4. }
  5. else
  6. {
  7. Toast.makeText(this, "version" + Build.VERSION.RELEASE+ " :" + Build.VERSION.SDK_INT, Toast.LENGTH_SHORT).show();



  8. 转自:https://www.linuxidc.com/Linux/2011-11/48325.htm 
  9. Java代码收藏代码
    1. android.os.Build
    2. Java代码
    3. Build.BOARD // 主板
    4. Build.BRAND // android系统定制商
    5. Build.CPU_ABI // cpu指令集
    6. Build.DEVICE // 设备参数
    7. Build.DISPLAY // 显示屏参数
    8. Build.FINGERPRINT // 硬件名称
    9. Build.HOST
    10. Build.ID // 修订版本列表
    11. Build.MANUFACTURER // 硬件制造商
    12. Build.MODEL // 版本
    13. Build.PRODUCT // 手机制造商
    14. Build.TAGS // 描述build的标签
    15. Build.TIME
    16. Build.TYPE // builder类型
    1. Build.USER
    2. // 运行结果
    3. /*
    4. board: unknown
    5. brand: generic
    6. cpu abi: armeabi
    7. device: generic
    8. display: google_sdk-eng 2.1 ERD79 22607 test-keys
    9. finger print: generic/google_sdk/generic/:2.1/ERD79/22607:eng/test-keys
    10. host: genki.mtv.corp.google.com
    11. id: ERD79
    12. manufacturer: unknown
    13. model: google_sdk
    14. product: google_sdk
    15. tags: test-keys
    16. time: 1261185425000
    17. type: eng
    18. user: android-build
    1. */
    2. Build.BOARD // 主板
    3. Build.BRAND // android系统定制商
    4. Build.CPU_ABI // cpu指令集
    5. Build.DEVICE // 设备参数
    6. Build.DISPLAY // 显示屏参数
    7. Build.FINGERPRINT // 硬件名称
    8. Build.HOST
    9. Build.ID // 修订版本列表
    10. Build.MANUFACTURER // 硬件制造商
    11. Build.MODEL // 版本
    12. Build.PRODUCT // 手机制造商
    13. Build.TAGS // 描述build的标签
    14. Build.TIME
    15. Build.TYPE // builder类型
    16. Build.USER
    17. // 运行结果
    18. /*
      1. board: unknown
      2. brand: generic
      3. cpu abi: armeabi
      4. device: generic
      5. display: google_sdk-eng 2.1 ERD79 22607 test-keys
      6. finger print: generic/google_sdk/generic/:2.1/ERD79/22607:eng/test-keys
      7. host: genki.mtv.corp.google.com
      8. id: ERD79
      9. manufacturer: unknown
      10. model: google_sdk
      11. product: google_sdk
      12. tags: test-keys
      13. time: 1261185425000
      14. type: eng
      15. user: android-build
      16. */
      1. Build.VERSION
      2. Java代码
      3. // 当前开发代号
      4. Build.VERSION.CODENAME
      5. // 源码控制版本号
      6. Build.VERSION.INCREMENTAL
      7. // 版本字符串
      8. Build.VERSION.RELEASE
      9. // 版本号
      10. Build.VERSION.SDK
      11. // 版本号
      12. Build.VERSION.SDK_INT
      13. // 结果
      14. /*
      1. REL
      2. 22607
      3. 2.1
      4. 7
      5. 7
      6. */
      7. // Build.VERSION.SDK_INT可与switch搭配用
      8. switch (Build.VERSION.SDK_INT) {
      9. case Build.VERSION_CODES.BASE: // 1.0
      10. break;
      11. case Build.VERSION_CODES.BASE_1_1: // 1.1
      12. break;
      13. case Build.VERSION_CODES.CUPCAKE: // 1.5
      14. break;
      15. case Build.VERSION_CODES.CUR_DEVELOPMENT: // current dev version
      16. break;
      17. case Build.VERSION_CODES.DONUT: // 1.6
      18. break;
      19. case Build.VERSION_CODES.ECLAIR: // 2.0
      20. break;
      21. case Build.VERSION_CODES.ECLAIR_0_1: // 2.0.1
      22. break;
      23. case Build.VERSION_CODES.ECLAIR_MR1: // 2.1
      24. break;
      25. }
      1. // 当前开发代号
      2. Build.VERSION.CODENAME
      3. // 源码控制版本号
      4. Build.VERSION.INCREMENTAL
      5. // 版本字符串
      6. Build.VERSION.RELEASE
      7. // 版本号
      8. Build.VERSION.SDK
      9. // 版本号
      10. Build.VERSION.SDK_INT
      11. // 结果
      12. /*
      13. REL
      14. 22607
      15. 2.1
      16. 7
      17. 7
      18. */
        1. // Build.VERSION.SDK_INT可与switch搭配用
        2. switch (Build.VERSION.SDK_INT) {
        3. case Build.VERSION_CODES.BASE: // 1.0
        4. break;
        5. case Build.VERSION_CODES.BASE_1_1: // 1.1
        6. break;
        7. case Build.VERSION_CODES.CUPCAKE: // 1.5
        8. break;
        9. case Build.VERSION_CODES.CUR_DEVELOPMENT: // current dev version
        10. break;
        11. case Build.VERSION_CODES.DONUT: // 1.6
        12. break;
        13. case Build.VERSION_CODES.ECLAIR: // 2.0
        14. break;
        15. case Build.VERSION_CODES.ECLAIR_0_1: // 2.0.1
        16. break;
        17. case Build.VERSION_CODES.ECLAIR_MR1: // 2.1
        18. break;




展开阅读全文

没有更多推荐了,返回首页