test

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. }    
posted @ 2014-11-13 16:38  Lechance  阅读(3341)  评论(0编辑  收藏  举报