您的位置:首页 > 产品设计 > UI/UE

Android Build.VERSION.SDK_INT兼容介绍

2014-11-13 16:38 302 查看
尽管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();

}

转自: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;

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: