利用Api读写外部存储卡数据

转载 2015年11月19日 17:06:19
public class MainActivity extends Activity {

    private EditText et_name;
	private EditText et_pass;

	@Override
    protected 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();
        
    }

    public void readAccount(){
    	if(Environment.getExternalStorageState().equals(Environment.MEDIA_MOUNTED)){
	    	File file = new File("sdcard/info.txt");
	    	if(file.exists()){
		    	try {
					FileInputStream fis = new FileInputStream(file);
					//把字节流转换成字符流
					BufferedReader br = new BufferedReader(new InputStreamReader(fis));
					//读取txt文件里的用户名和密码
					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 block
					e.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()){
    		//MEDIA_UNKNOWN:不能识别sd卡
    		//MEDIA_REMOVED:没有sd卡
    		//MEDIA_UNMOUNTED:sd卡存在但是没有挂载
    		//MEDIA_CHECKING:sd卡正在准备
    		//MEDIA_MOUNTED:sd卡已经挂载,可用
    		if(Environment.getExternalStorageState().equals(Environment.MEDIA_MOUNTED)){
    		
	    		//返回一个File对象,其路径是sd卡的真实路径 
	    		File file = new File(Environment.getExternalStorageDirectory(), "info.txt");
	//    		File file = new File("sdcard/info.txt");
	    		FileOutputStream fos;
				try {
					fos = new FileOutputStream(file);
					fos.write((name + "##" + pass).getBytes());
					fos.close();
				} catch (Exception e) {
					// TODO Auto-generated catch block
					e.printStackTrace();
				}
    		}
    		else{
    			Toast.makeText(this, "sd卡不可用哟亲么么哒", 0).show();
    		}
    	}
    	
    	//创建并显示吐司对话框
    	Toast.makeText(this, "登录成功", 0).show();
    }
    
}

相关文章推荐

05读写外部存储sd卡

  • 2015年10月12日 13:40
  • 1.08MB
  • 下载

Android数据库存储sqlite外部存储数据读写

package com.example.day11_datastoreage01; import java.io.File; import java.io.FileInputStream;...

狂刷Android范例之3:读写外部存储设备

狂刷Android范例之3:读写外部存储设备说明狂刷Android范例系列文章开张了。每篇学习一个Android范例,将一个范例单独生成一个可运行的app,并对重点源代码进行简要分析。然后提供打包好的...

Android开发——通过SD卡外部存储数据

当程序通过openFileInput获取openFileOutput来打开文件输入流,输出流时,为了更还得存取应用程序的大文件数据,应用程序需要读写SD卡上的文件。SD卡大大的扩充了手机的储存能力,不...

市面常见存储卡的读写速度对比测试

本文选自:原文链接测试环境:测试基于金士顿(kingston)USB 3.0 读卡器(FCR-HS3),接入USB3.0接口。测试软件ATTO Disk Benchmark,版本v2.47。红条示写入...

Android 数据存储---外部存储(SD卡)

使用外部存储实现数据持久化,这里的外部存储一般就是指的是sdcard。使用sdcard存储的数据,不限制只有本应用访问,任何可以有访问Sdcard权限的应用均可以访问,而Sdcard相对于设备的内部存...

数据存储详解(二)---->File存储:内部存储 -Cache和外部存储-SD卡

内部存储Cache:缓存包括两种方法,一种利用openFileOutput和openFileInput存储在file文件中,一种是写到cache文件中。 openFileOutput和openFi...

安卓外部存储数据的4种方式

第一种: 使用SharedPreferences存储数据     适用范围:保存少量的数据,且这些数据的格式非常简单:字符串型、基本类型的值。比如应用程序的各种配置信息(如是否打开音效、是否使用...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:利用Api读写外部存储卡数据
举报原因:
原因补充:

(最多只允许输入30个字)