您的位置:首页 > 其它

【学习笔记】day2数据存储和界面展现第一天 11_api获取外部存储的真实路径 12_检查外部存储状态

2016-03-04 00:51 597 查看
Environment.getExternalStorageDirectory() 获取外部存储路径访问外部存储所需权限:
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>

<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE"/>
判断SD卡是否可用:
//MEDIA_REMOVED:sd卡不存在
//MEDIA_UNMOUNTED:sd卡存在,但是没有挂载
//MEDIA_CHECKING:sd卡正在遍历
//MEDIA_MOUNTED:sd卡可用
//MEDIA_MOUNTED_READ_ONLY:sd卡可用,但是只读
if(Environment.getExternalStorageState().equals(Environment.MEDIA_MOUNTED))
package com.itheima.rwinrom;import java.io.BufferedReader;import java.io.File;import java.io.FileInputStream;import java.io.FileNotFoundException;import java.io.FileOutputStream;import java.io.InputStreamReader;import com.itheima.rwinsd.R;import android.os.Bundle;import android.os.Environment;import android.app.Activity;import android.content.Context;import android.view.Menu;import android.view.View;import android.widget.CheckBox;import android.widget.EditText;import android.widget.Toast;public class MainActivity extends Activity {private EditText et_name;private EditText et_pass;@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);et_name = (EditText) findViewById(R.id.et_name);et_pass = (EditText) findViewById(R.id.et_pass);readAccount();}private void readAccount() {//    	File file = new File("sdcard/info.txt");File file = new File(Environment.getExternalStorageDirectory(), "info.txt");if(file.exists()){try {FileInputStream fis = new FileInputStream(file);//把字节流转换成字符流BufferedReader br = new BufferedReader(new InputStreamReader(fis));//读取文件中的文本String text = br.readLine();String s[] = text.split("&&");//给输入框设置文本et_name.setText(s[0]);et_pass.setText(s[1]);} catch (Exception e) {// TODO Auto-generated catch blocke.printStackTrace();}}}public void login(View v){//获取用户输入的账号密码String name = et_name.getText().toString();String pass = et_pass.getText().toString();CheckBox cb = (CheckBox) findViewById(R.id.cb);//判断选框是否选中if(cb.isChecked()){//    		File file = new File("sdcard/info.txt");//MEDIA_REMOVED:sd卡不存在
//MEDIA_UNMOUNTED:sd卡存在,但是没有挂载
//MEDIA_CHECKING:sd卡正在遍历
//MEDIA_MOUNTED:sd卡可用
//MEDIA_MOUNTED_READ_ONLY:sd卡可用,但是只读
if(Environment.getExternalStorageState().equals(Environment.MEDIA_MOUNTED)){//返回一个File对象,封装了外部存储的真实路径File file = new File(Environment.getExternalStorageDirectory(), "info.txt");try {FileOutputStream fos = new FileOutputStream(file);//把账号密码写入本地文件fos.write((name + "&&" + pass).getBytes());fos.close();} catch (Exception e) {// TODO Auto-generated catch blocke.printStackTrace();}}else{Toast.makeText(this, "SD卡不可用哟亲(づ ̄ 3 ̄づ", 0).show();}}//    	System.out.println("登录成功");//创建吐司对话框Toast t = Toast.makeText(this, "登录成功", 0);//显示对话框t.show();}}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: