Android中的Environment.getExternalStorageState使用
Build相关属性和调用系统信息的方法
一、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 //用户
① Build.VERSION 获取android系统的版本信息。
当前开发代号 Build.VERSION.CODENAME
源码控制版本号 Build.VERSION.INCREMENTAL
版本字符串 Build.VERSION.RELEASE
版本号 Build.VERSION.SDK
版本号 Build.VERSION.SDK_INT
② Build.VERSION_CODES 这个类封装了已经存在的SDK框架及android版本。
ECLAIR_0_1 December 2009: Android 2.0.1
ECLAIR_MR1 January 2010: Android 2.1
FROYO June 2010: Android 2.2
GINGERBREAD November 2010: Android 2.3
GINGERBREAD_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);
}
}