—SD卡的检测

  在对外部存储的操作中,我们还要添加对SD卡状态的检测,这里SD卡的获得还是通过Android中为我们提供的Environment来获得SD卡的真实路径,同时也是通过它来获得SD卡的状态的。
SD卡的几种状态
MEDIA_MOUNTED:SD卡被挂载,可以使用
MEDIA_UNMOUNTED:SD卡存在但未能挂载(2.3版本上有SD卡挂载一说,但是4.0版本以后就没有挂载一说了所有的SD卡插上就能用)
MEDIA_REMOVED:没有SD卡
MEDIA_UNKNOWN:不能识别SD卡
这里在前面例子的基础上仅展示部分代码。

.getText().toString();
String password=et_password.getText().toString();


CheckBox cb=(CheckBox) findViewById(R.id.cb);
//判断选框有没有被勾选,调用isChecked()
if(cb.isChecked()){
//这就是内部存储空间的路径
//先进行部署,之后通过 Window-show View-other-File Explorer-data/data下找到相应包名的文件
// File file=new File("sdcard/info.txt");在实际开发中一般使用下面语句
if(Environment.getExternalStorageState().equals(Environment.MEDIA_MOUNTED)){
File file=new File(Environment.getExternalStorageDirectory(),"/info.txt");
FileOutputStream os;
try {
os = new FileOutputStream(file);
String buffer=name+"##"+password;
os.write(buffer.getBytes());
os.close();//记得关闭文件
Toast.makeText(MainActivity.this,"SD卡可用",Toast.LENGTH_SHORT).show();
} catch (FileNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}else{
Toast.makeText(MainActivity.this,"亲,SD卡不可用哦!",Toast.LENGTH_SHORT).show();
}
Toast.makeText(MainActivity.this,"登陆成功",Toast.LENGTH_SHORT).show();