zoukankan      html  css  js  c++  java
  • 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.         {  
    4.   
    5.         Toast.makeText(this"version" + Build.VERSION.RELEASE+ " :" + Build.VERSION.SDK_INT, Toast.LENGTH_SHORT).show();  
    6.   
    7.         }  
    8.   
    9.         else  
    10.   
    11.         {  
    12.   
    13.         Toast.makeText(this"version" + Build.VERSION.RELEASE+ " :" + Build.VERSION.SDK_INT, Toast.LENGTH_SHORT).show();  
    14.   
    15.         }  



    转自:http://www.linuxidc.com/Linux/2011-11/48325.htm 
    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类型    
    17. Build.USER    
    18.     
    19. // 运行结果    
    20. /*  
    21. board: unknown  
    22. brand: generic  
    23. cpu abi: armeabi  
    24. device: generic  
    25. display: google_sdk-eng 2.1 ERD79 22607 test-keys  
    26. finger print: generic/google_sdk/generic/:2.1/ERD79/22607:eng/test-keys  
    27. host: genki.mtv.corp.google.com  
    28. id: ERD79  
    29. manufacturer: unknown  
    30. model: google_sdk  
    31. product: google_sdk  
    32. tags: test-keys  
    33. time: 1261185425000  
    34. type: eng  
    35. user: android-build  
    36. */    
    37.    
    38. Build.BOARD // 主板     
    39. Build.BRAND // android系统定制商     
    40. Build.CPU_ABI // cpu指令集     
    41. Build.DEVICE // 设备参数     
    42. Build.DISPLAY // 显示屏参数     
    43. Build.FINGERPRINT // 硬件名称     
    44. Build.HOST    
    45. Build.ID // 修订版本列表     
    46. Build.MANUFACTURER // 硬件制造商     
    47. Build.MODEL // 版本     
    48. Build.PRODUCT // 手机制造商     
    49. Build.TAGS // 描述build的标签     
    50. Build.TIME    
    51. Build.TYPE // builder类型     
    52. Build.USER    
    53.     
    54. // 运行结果     
    55. /*  
    56. board: unknown  
    57. brand: generic  
    58. cpu abi: armeabi  
    59. device: generic  
    60. display: google_sdk-eng 2.1 ERD79 22607 test-keys  
    61. finger print: generic/google_sdk/generic/:2.1/ERD79/22607:eng/test-keys  
    62. host: genki.mtv.corp.google.com  
    63. id: ERD79  
    64. manufacturer: unknown  
    65. model: google_sdk  
    66. product: google_sdk  
    67. tags: test-keys  
    68. time: 1261185425000  
    69. type: eng  
    70. user: android-build  
    71. */    
    72. Build.VERSION  
    73. Java代码   
    74. // 当前开发代号    
    75. Build.VERSION.CODENAME    
    76. // 源码控制版本号    
    77. Build.VERSION.INCREMENTAL    
    78. // 版本字符串    
    79. Build.VERSION.RELEASE    
    80. // 版本号    
    81. Build.VERSION.SDK    
    82. // 版本号    
    83. Build.VERSION.SDK_INT    
    84.     
    85. // 结果    
    86. /*  
    87. REL  
    88. 22607  
    89. 2.1  
    90.  
    91.  
    92. */    
    93.     
    94. // Build.VERSION.SDK_INT可与switch搭配用    
    95. switch (Build.VERSION.SDK_INT) {    
    96. case Build.VERSION_CODES.BASE: // 1.0    
    97.     break;    
    98.         
    99. case Build.VERSION_CODES.BASE_1_1: // 1.1    
    100.     break;    
    101.         
    102. case Build.VERSION_CODES.CUPCAKE: // 1.5    
    103.     break;    
    104.         
    105. case Build.VERSION_CODES.CUR_DEVELOPMENT: // current dev version    
    106.     break;    
    107.         
    108. case Build.VERSION_CODES.DONUT: // 1.6    
    109.     break;    
    110.         
    111. case Build.VERSION_CODES.ECLAIR: // 2.0    
    112.     break;    
    113.         
    114. case Build.VERSION_CODES.ECLAIR_0_1: // 2.0.1    
    115.     break;    
    116.         
    117. case Build.VERSION_CODES.ECLAIR_MR1: // 2.1    
    118.     break;    
    119. }    
    120.    
    121. // 当前开发代号     
    122. Build.VERSION.CODENAME    
    123. // 源码控制版本号     
    124. Build.VERSION.INCREMENTAL    
    125. // 版本字符串     
    126. Build.VERSION.RELEASE    
    127. // 版本号     
    128. Build.VERSION.SDK    
    129. // 版本号     
    130. Build.VERSION.SDK_INT    
    131.     
    132. // 结果     
    133. /*  
    134. REL  
    135. 22607  
    136. 2.1  
    137.  
    138.  
    139. */    
    140.     
    141. // Build.VERSION.SDK_INT可与switch搭配用     
    142. switch (Build.VERSION.SDK_INT) {    
    143. case Build.VERSION_CODES.BASE: // 1.0     
    144.     break;    
    145.         
    146. case Build.VERSION_CODES.BASE_1_1: // 1.1     
    147.     break;    
    148.         
    149. case Build.VERSION_CODES.CUPCAKE: // 1.5     
    150.     break;    
    151.         
    152. case Build.VERSION_CODES.CUR_DEVELOPMENT: // current dev version     
    153.     break;    
    154.         
    155. case Build.VERSION_CODES.DONUT: // 1.6     
    156.     break;    
    157.         
    158. case Build.VERSION_CODES.ECLAIR: // 2.0     
    159.     break;    
    160.         
    161. case Build.VERSION_CODES.ECLAIR_0_1: // 2.0.1     
    162.     break;    
    163.         
    164. case Build.VERSION_CODES.ECLAIR_MR1: // 2.1     
    165.     break;    
    166. }    
  • 相关阅读:
    LINUX核心命令实战总结七——文件备份与压缩命令
    LINUX核心命令实战总结六——信息显示与搜索文件命令
    LINUX核心命令实战总结五——文件过滤及内容编辑处理命令二
    LINUX核心命令实战总结四——文件过滤及内容编辑处理命令一
    LINUX核心命令实战总结三——文件和目录操作命令二
    LINUX核心命令实战总结二——文件和目录操作命令一
    LINUX核心命令实战总结一——关机、重启、注销命令
    python进阶十——mysql初识
    python进阶九——并发编程之协程
    入职培训第一天
  • 原文地址:https://www.cnblogs.com/lechance/p/4373294.html
Copyright © 2011-2022 走看看