Android教程網
  1. 首頁
  2. Android 技術
  3. Android 手機
  4. Android 系統教程
  5. Android 游戲
 Android教程網 >> Android技術 >> 關於Android編程 >> Android Build.VERSION.SDK_INT兼容介紹

Android Build.VERSION.SDK_INT兼容介紹

編輯:關於Android編程

盡管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. }


    轉自: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. board: unknown
    21. brand: generic
    22. cpu abi: armeabi
    23. device: generic
    24. display: google_sdk-eng 2.1 ERD79 22607 test-keys
    25. finger print: generic/google_sdk/generic/:2.1/ERD79/22607:eng/test-keys
    26. host: genki.mtv.corp.google.com
    27. id: ERD79
    28. manufacturer: unknown
    29. model: google_sdk
    30. product: google_sdk
    31. tags: test-keys
    32. time: 1261185425000
    33. type: eng
    34. user: android-build
    35. */
    36. Build.BOARD // 主板
    37. Build.BRAND // android系統定制商
    38. Build.CPU_ABI // cpu指令集
    39. Build.DEVICE // 設備參數
    40. Build.DISPLAY // 顯示屏參數
    41. Build.FINGERPRINT // 硬件名稱
    42. Build.HOST
    43. Build.ID // 修訂版本列表
    44. Build.MANUFACTURER // 硬件制造商
    45. Build.MODEL // 版本
    46. Build.PRODUCT // 手機制造商
    47. Build.TAGS // 描述build的標簽
    48. Build.TIME
    49. Build.TYPE // builder類型
    50. Build.USER
    51. // 運行結果
    52. /*
    53. board: unknown
    54. brand: generic
    55. cpu abi: armeabi
    56. device: generic
    57. display: google_sdk-eng 2.1 ERD79 22607 test-keys
    58. finger print: generic/google_sdk/generic/:2.1/ERD79/22607:eng/test-keys
    59. host: genki.mtv.corp.google.com
    60. id: ERD79
    61. manufacturer: unknown
    62. model: google_sdk
    63. product: google_sdk
    64. tags: test-keys
    65. time: 1261185425000
    66. type: eng
    67. user: android-build
    68. */
    69. Build.VERSION
    70. Java代碼
    71. // 當前開發代號
    72. Build.VERSION.CODENAME
    73. // 源碼控制版本號
    74. Build.VERSION.INCREMENTAL
    75. // 版本字符串
    76. Build.VERSION.RELEASE
    77. // 版本號
    78. Build.VERSION.SDK
    79. // 版本號
    80. Build.VERSION.SDK_INT
    81. // 結果
    82. /*
    83. REL
    84. 22607
    85. 2.1
    86. 7
    87. 7
    88. */
    89. // Build.VERSION.SDK_INT可與switch搭配用
    90. switch (Build.VERSION.SDK_INT) {
    91. case Build.VERSION_CODES.BASE: // 1.0
    92. break;
    93. case Build.VERSION_CODES.BASE_1_1: // 1.1
    94. break;
    95. case Build.VERSION_CODES.CUPCAKE: // 1.5
    96. break;
    97. case Build.VERSION_CODES.CUR_DEVELOPMENT: // current dev version
    98. break;
    99. case Build.VERSION_CODES.DONUT: // 1.6
    100. break;
    101. case Build.VERSION_CODES.ECLAIR: // 2.0
    102. break;
    103. case Build.VERSION_CODES.ECLAIR_0_1: // 2.0.1
    104. break;
    105. case Build.VERSION_CODES.ECLAIR_MR1: // 2.1
    106. break;
    107. }
    108. // 當前開發代號
    109. Build.VERSION.CODENAME
    110. // 源碼控制版本號
    111. Build.VERSION.INCREMENTAL
    112. // 版本字符串
    113. Build.VERSION.RELEASE
    114. // 版本號
    115. Build.VERSION.SDK
    116. // 版本號
    117. Build.VERSION.SDK_INT
    118. // 結果
    119. /*
    120. REL
    121. 22607
    122. 2.1
    123. 7
    124. 7
    125. */
    126. // Build.VERSION.SDK_INT可與switch搭配用
    127. switch (Build.VERSION.SDK_INT) {
    128. case Build.VERSION_CODES.BASE: // 1.0
    129. break;
    130. case Build.VERSION_CODES.BASE_1_1: // 1.1
    131. break;
    132. case Build.VERSION_CODES.CUPCAKE: // 1.5
    133. break;
    134. case Build.VERSION_CODES.CUR_DEVELOPMENT: // current dev version
    135. break;
    136. case Build.VERSION_CODES.DONUT: // 1.6
    137. break;
    138. case Build.VERSION_CODES.ECLAIR: // 2.0
    139. break;
    140. case Build.VERSION_CODES.ECLAIR_0_1: // 2.0.1
    141. break;
    142. case Build.VERSION_CODES.ECLAIR_MR1: // 2.1
    143. break;
    144. }
  1. 上一頁:
  2. 下一頁:
熱門文章
閱讀排行版
Copyright © Android教程網 All Rights Reserved