关闭

Build.VERSION.SDK_INT判断Android SDK版本号

3252人阅读 评论(0) 收藏 举报
转自:http://blog.csdn.net/l_serein/article/details/6287474 


尽管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代码  
if(Build.VERSION.SDK_INT <= 4)  
        {  
        Toast.makeText(this, "version" + Build.VERSION.RELEASE+ " :" + Build.VERSION.SDK_INT, Toast.LENGTH_SHORT).show();  
        }  
        else
        {  
        Toast.makeText(this, "version" + Build.VERSION.RELEASE+ " :" + Build.VERSION.SDK_INT, Toast.LENGTH_SHORT).show();  
        }  
if(Build.VERSION.SDK_INT <= 4)


        {


        Toast.makeText(this, "version" + Build.VERSION.RELEASE+ " :" + Build.VERSION.SDK_INT, Toast.LENGTH_SHORT).show();


        }


        else


        {


        Toast.makeText(this, "version" + Build.VERSION.RELEASE+ " :" + Build.VERSION.SDK_INT, Toast.LENGTH_SHORT).show();


        }






转自:http://www.linuxidc.com/Linux/2011-11/48325.htm
Java代码  
android.os.Build  
Java代码  
Build.BOARD // 主板  
Build.BRAND // android系统定制商  
Build.CPU_ABI // cpu指令集  
Build.DEVICE // 设备参数  
Build.DISPLAY // 显示屏参数  
Build.FINGERPRINT // 硬件名称  
Build.HOST    
Build.ID // 修订版本列表  
Build.MANUFACTURER // 硬件制造商  
Build.MODEL // 版本  
Build.PRODUCT // 手机制造商  
Build.TAGS // 描述build的标签  
Build.TIME    
Build.TYPE // builder类型  
Build.USER    
// 运行结果  
/*  
board: unknown  
brand: generic  
cpu abi: armeabi  
device: generic  
display: google_sdk-eng 2.1 ERD79 22607 test-keys  
finger print: generic/google_sdk/generic/:2.1/ERD79/22607:eng/test-keys  
host: genki.mtv.corp.google.com  
id: ERD79  
manufacturer: unknown  
model: google_sdk  
product: google_sdk  
tags: test-keys  
time: 1261185425000  
type: eng  
user: android-build  
*/
Build.BOARD // 主板   
Build.BRAND // android系统定制商   
Build.CPU_ABI // cpu指令集   
Build.DEVICE // 设备参数   
Build.DISPLAY // 显示屏参数   
Build.FINGERPRINT // 硬件名称   
Build.HOST    
Build.ID // 修订版本列表   
Build.MANUFACTURER // 硬件制造商   
Build.MODEL // 版本   
Build.PRODUCT // 手机制造商   
Build.TAGS // 描述build的标签   
Build.TIME    
Build.TYPE // builder类型   
Build.USER    
// 运行结果   
/*  
board: unknown  
brand: generic  
cpu abi: armeabi  
device: generic  
display: google_sdk-eng 2.1 ERD79 22607 test-keys  
finger print: generic/google_sdk/generic/:2.1/ERD79/22607:eng/test-keys  
host: genki.mtv.corp.google.com  
id: ERD79  
manufacturer: unknown  
model: google_sdk  
product: google_sdk  
tags: test-keys  
time: 1261185425000  
type: eng  
user: android-build  
*/
Build.VERSION  
Java代码   
// 当前开发代号  
Build.VERSION.CODENAME    
// 源码控制版本号  
Build.VERSION.INCREMENTAL    
// 版本字符串  
Build.VERSION.RELEASE    
// 版本号  
Build.VERSION.SDK    
// 版本号  
Build.VERSION.SDK_INT    
// 结果  
/*  
REL  
22607  
2.1  
7  
7  
*/
// 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;    
}    
// 当前开发代号   
Build.VERSION.CODENAME    
// 源码控制版本号   
Build.VERSION.INCREMENTAL    
// 版本字符串   
Build.VERSION.RELEASE    
// 版本号   
Build.VERSION.SDK    
// 版本号   
Build.VERSION.SDK_INT    
// 结果   
/*  
REL  
22607  
2.1  
7  
7  
*/
// 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;    
}    
android.os.Build
Java代码
Build.BOARD // 主板  
Build.BRAND // android系统定制商  
Build.CPU_ABI // cpu指令集  
Build.DEVICE // 设备参数  
Build.DISPLAY // 显示屏参数  
Build.FINGERPRINT // 硬件名称  
Build.HOST  
Build.ID // 修订版本列表  
Build.MANUFACTURER // 硬件制造商  
Build.MODEL // 版本  
Build.PRODUCT // 手机制造商  
Build.TAGS // 描述build的标签  
Build.TIME  
Build.TYPE // builder类型  
Build.USER  
  
// 运行结果  
/* 
board: unknown 
brand: generic 
cpu abi: armeabi 
device: generic 
display: google_sdk-eng 2.1 ERD79 22607 test-keys 
finger print: generic/google_sdk/generic/:2.1/ERD79/22607:eng/test-keys 
host: genki.mtv.corp.google.com 
id: ERD79 
manufacturer: unknown 
model: google_sdk 
product: google_sdk 
tags: test-keys 
time: 1261185425000 
type: eng 
user: android-build 
*/  
 
Build.BOARD // 主板   
Build.BRAND // android系统定制商   
Build.CPU_ABI // cpu指令集   
Build.DEVICE // 设备参数   
Build.DISPLAY // 显示屏参数   
Build.FINGERPRINT // 硬件名称   
Build.HOST  
Build.ID // 修订版本列表   
Build.MANUFACTURER // 硬件制造商   
Build.MODEL // 版本   
Build.PRODUCT // 手机制造商   
Build.TAGS // 描述build的标签   
Build.TIME  
Build.TYPE // builder类型   
Build.USER  
  
// 运行结果   
/* 
board: unknown 
brand: generic 
cpu abi: armeabi 
device: generic 
display: google_sdk-eng 2.1 ERD79 22607 test-keys 
finger print: generic/google_sdk/generic/:2.1/ERD79/22607:eng/test-keys 
host: genki.mtv.corp.google.com 
id: ERD79 
manufacturer: unknown 
model: google_sdk 
product: google_sdk 
tags: test-keys 
time: 1261185425000 
type: eng 
user: android-build 
*/  
Build.VERSION
Java代码 
// 当前开发代号  
Build.VERSION.CODENAME  
// 源码控制版本号  
Build.VERSION.INCREMENTAL  
// 版本字符串  
Build.VERSION.RELEASE  
// 版本号  
Build.VERSION.SDK  
// 版本号  
Build.VERSION.SDK_INT  
  
// 结果  
/* 
REL 
22607 
2.1 


*/  
  
// 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;  
}  
 
// 当前开发代号   
Build.VERSION.CODENAME  
// 源码控制版本号   
Build.VERSION.INCREMENTAL  
// 版本字符串   
Build.VERSION.RELEASE  
// 版本号   
Build.VERSION.SDK  
// 版本号   
Build.VERSION.SDK_INT  
  
// 结果   
/* 
REL 
22607 
2.1 


*/  
  
// 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;  
}  


   
0
0

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:10445次
    • 积分:210
    • 等级:
    • 排名:千里之外
    • 原创:8篇
    • 转载:11篇
    • 译文:0篇
    • 评论:0条
    文章分类