Android版本判斷

儘管Android向下兼容不好,但是一個程序還是可以在多個平臺上跑的。向下兼容不好,接口改變,新的平臺上不能用舊的API,舊的平臺更不可能用新的API,不等於一個平臺需要一個APK。可以在高版本的SDK上開發,並在程序中作版本判斷,低版本運行環境使用舊的API。進行android版本判斷需使用到類:

android.os.Build

根據官方文檔解釋爲--Information about the current build, extracted from system properties.
該類中描述了從系統屬性中提取的有關android平臺的信息。

android.os.Build.VERSION

根據官方文檔解釋爲--Various version strings.
該類中提供了各種版本的字符串。
其中:public static final int SDK_INT
官方文檔解釋爲--The user-visible SDK version of the framework; its possible values are defined in Build.VERSION_CODES.
該常量值表述了用戶可見的系統框架的SDK版本,它的可能取值被定義在Build.VERSION_CODES中。

android.os.Build.VERSION_CODES

根據官方文檔解釋爲--Enumeration of the currently known SDK version codes. These are the values that can be found in SDK. Version numbers increment monotonically with each official platform release.
該類列舉處理當前已知的所有SDK版本代號。這些值可以在SDK中找到,版本號會隨着官方平臺的發佈單調增加。
例如:int M;    --- M is for Marshmallow!(Constant Value: 23 (0x00000017) )


// Build.VERSION.SDK_INT可與switch搭配用     
switch (Build.VERSION.SDK_INT) {    
    case Build.VERSION_CODES.BASE: // 1.0     
        break;    
        
    case Build.VERSION_CODES.BASE_1_1: // 1.1     
        break;    
        
    case Build.VERSION_CODES.CUPCAKE: // 1.5     
        break;    
        
    case Build.VERSION_CODES.CUR_DEVELOPMENT: // current dev version     
        break;    
        
    case Build.VERSION_CODES.DONUT: // 1.6     
        break;    
        
    case Build.VERSION_CODES.ECLAIR: // 2.0     
        break;    
        
    case Build.VERSION_CODES.ECLAIR_0_1: // 2.0.1     
        break;    
        
    case Build.VERSION_CODES.ECLAIR_MR1: // 2.1     
        break;    
}    




發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章