Build相关属性和调用系统信息的方法
来源:互联网 发布:申通快递单打印软件 编辑:程序博客网 时间:2024/04/20 14:42
转自:http://blog.csdn.net/meng425841867/article/details/8498748
Build相关属性和调用系统信息的方法
一、Build类的作用主要是获取系统信息,他有两个嵌套类:
Build.BOARD // 主板
Build.BRAND // Android系统定制商
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 //用户
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 //用户
① Build.VERSION 获取android系统的版本信息。
版本号 Build.VERSION.SDK_INT当前开发代号 Build.VERSION.CODENAME源码控制版本号 Build.VERSION.INCREMENTAL版本字符串 Build.VERSION.RELEASE版本号 Build.VERSION.SDK
② Build.VERSION_CODES 这个类封装了已经存在的SDK框架及android版本。
ECLAIR_0_1 December 2009: Android 2.0.1ECLAIR_MR1 January 2010: Android 2.1FROYO June 2010: Android 2.2GINGERBREAD November 2010: Android 2.3GINGERBREAD_MR1 February 2011: Android 2.3.3.HONEYCOMB February 2011: Android 3.0.HONEYCOMB_MR1 May 2011: Android 3.1.HONEYCOMB_MR2 June 2011: Android 3.2.ICE_CREAM_SANDWICH Android 4.0.
二、关于在获取系统信息的使用
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.HONEYCOMB_MR2)对比应用的版本与平台的版本做相应的处理。
@TargetApi(Build.VERSION_CODES.HONEYCOMB_MR2)这个语句在程序中指出应用的版本。
getRadioVersion方法可以根据以上属性获取系统信息。
三、实例:
/** * Shows the progress UI and hides the login form. */@TargetApi(Build.VERSION_CODES.HONEYCOMB_MR2) // 指明应用版本private void showProgress(final boolean show) { // On Honeycomb MR2 we have the ViewPropertyAnimator APIs, which allow // for very easy animations. If available, use these APIs to fade-in // the progress spinner. if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.HONEYCOMB_MR2) { // 应用版本与平台版本对比。 int shortAnimTime = getResources().getInteger(android.R.integer.config_shortAnimTime);//获得android定义的短片动画时间 mLoginStatusView.setVisibility(View.VISIBLE);//设置该VIEW为显示 mLoginStatusView.animate().setDuration(shortAnimTime)//设置动画显示时间 .alpha(show ? 1 : 0)//设置动画的渐变效果 .setListener(new AnimatorListenerAdapter() { @Override public void onAnimationEnd(Animator animation) { mLoginStatusView.setVisibility(show ? View.VISIBLE : View.GONE); //跟据参数控制该控件显示或隐藏 } }); mLoginFormView.setVisibility(View.VISIBLE); mLoginFormView.animate().setDuration(shortAnimTime).alpha(show ? 0 : 1).setListener(new AnimatorListenerAdapter() { @Override public void onAnimationEnd(Animator animation) { mLoginFormView.setVisibility(show ? View.GONE : View.VISIBLE); } }); } else { // The ViewPropertyAnimator APIs are not available, so simply show // and hide the relevant UI components. mLoginStatusView.setVisibility(show ? View.VISIBLE : View.GONE); //根据参数控制控件的显示与隐藏 mLoginFormView.setVisibility(show ? View.GONE : View.VISIBLE); }}
解答: 指明应用的API版本,在代码中获得平台的SDK版本与这个版本对比,在代码中判断应用与平台的兼容性。
关于获取及使用用户信息的Bulid列的介绍及使用说明。
使用@TargetApi annotaion, 使高版本API的代码在低版本SDK不报错
例如:
AsyncTask.THREAD_POOL_EXECUTOR, 这个静态变量是API11才有的, 设置project build target 为 2.1.
这个时候eclipse会提示找不到这个变量。
只要在方法前面加一个 @TargetApi(11), 这样就不会报错了,程序已经可以跑在低版本SDK上了。
另外在代码上要加一个版本判断是否执行该代码, 例子如下
@TargetApi(11)public void text() { if (Build.VERSION.SDK_INT >= 11) { // 使用api11 新加 api }}
0 0
- Build相关属性和调用系统信息的方法
- Build相关属性和调用系统信息的方法
- Build相关属性和调用系统信息的方法
- Build相关属性和调用系统信息的方法
- Build相关属性和调用系统信息的方法
- Build的相关属性
- 和属性相关的方法
- 获取系统相关信息的方法
- php获取系统信息的相关方法
- 属性和方法的调用
- 反射之读取类信息、调用类属性和方法
- Ajax对象的相关属性和方法
- 小结:UICollectionView 相关的属性和方法
- 系统和进程相关信息
- android应用调用系统相关设置的方法
- android应用调用系统相关设置的方法
- UITableView 相关属性和方法
- BOM相关方法和属性
- Java8-本地缓存
- 【Android】任务和返回栈(tasks and back stack)
- php蜘蛛正常抓取,用户跳转指定页面
- 复杂的分页查询
- Codeforces Round #236 (Div. 2) E. Strictly Positive Matrix 强连通
- Build相关属性和调用系统信息的方法
- 状态模式与状态图
- uitableview学习
- js 添加事件 attachEvent 和 addEventListener 的用法
- 修改boot.img
- 探究如何整合 GLib Main Event Loop 和 Node.js 的 libuv
- Windows Phone 8.1 系列文章索引
- android高分段进阶攻略(8)音乐播放器代码实现一SlidingDrawer实现
- javax.swing.filechooser 文件选择器