Android SD读写存储数据 JAVA 的方式 不推荐
-
package com.escxh.android.meituan;
-
import java.io.BufferedReader;
-
import java.io.File;
-
import java.io.FileInputStream;
-
import java.io.FileNotFoundException;
-
import java.io.FileOutputStream;
-
import java.io.IOException;
-
import java.io.InputStreamReader;
-
import android.app.Activity;
-
import android.content.Intent;
-
import android.os.Bundle;
-
import android.os.Environment;
-
import android.view.View;
-
import android.view.View.OnClickListener;
-
import android.view.Window;
-
import android.widget.Button;
-
import android.widget.CheckBox;
-
import android.widget.EditText;
-
import android.widget.TextView;
-
import android.widget.Toast;
-
import com.escxh.android.R;
-
import com.escxh.android.DIY.EmailAutoCompleteTextView;
-
import com.escxh.android.utils.Logs;
-
public class LoginActivity extends Activity implements OnClickListener {
-
private TextView mTextView;
-
//登录按钮
-
private Button login;
-
//用户名
-
private EmailAutoCompleteTextView mLogin_user;
-
//密码
- private EditText mLogin_pass;
-
//跳转意图
-
private Intent intent;
-
//记住密码
-
private CheckBox mIsRemember;
-
@Override
-
protected void onCreate(Bundle savedInstanceState) {
-
super.onCreate(savedInstanceState);
-
requestWindowFeature(Window.FEATURE_NO_TITLE);
-
setContentView(R.layout.activity_login_layout);
-
//初始化View
-
initView();
-
//获取用户名 密码
-
getAccount();
-
}
-
private void getAccount(){
-
//判断SD卡是否可用
-
/*
-
* SD 的状态
-
* MEDIA_UNKNOWN:不能识别sd卡
-
MEDIA_REMOVED:没有sd卡
-
MEDIA_UNMOUNTED:sd卡存在但是没有挂载
-
MEDIA_CHECKING:sd卡正在准备
-
MEDIA_MOUNTED:sd卡已经挂载,可用
-
* 写sd卡需要权限
-
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
-
* 读sd卡,在4.0之前不需要权限,4.0之后可以设置为需要
-
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE"/>
-
* 使用api获得sd卡的真实路径,部分手机品牌会更改sd卡的路径
-
Environment.getExternalStorageDirectory()
-
*/
-
if(Environment.getExternalStorageState().equals(Environment.MEDIA_MOUNTED)){
-
File file = new File(Environment.getExternalStorageDirectory(),"info.txt");
-
if(file.exists()){
-
try {
-
FileInputStream fis = new FileInputStream(file);
-
//把字节流转换成字符流
-
BufferedReader br = new BufferedReader(new InputStreamReader(fis));
-
//读取txt文件里的用户名和密码
-
String info = br.readLine();
-
String[] infos =info.split("##");
-
mLogin_user.setText(infos[0]);
-
mLogin_pass.setText(infos[1]);
-
} catch (FileNotFoundException e) {
-
e.printStackTrace();
-
} catch (IOException e) {
-
e.printStackTrace();
-
}
-
}
-
}
-
}
-
private void initView(){
-
mTextView = (TextView) findViewById(R.id.login_back);
-
login = (Button) findViewById(R.id.login_login);
-
mIsRemember = (CheckBox) findViewById(R.id.login_isRemember);
-
mLogin_user = (EmailAutoCompleteTextView) findViewById(R.id.login_user);
-
mLogin_pass = (EditText) findViewById(R.id.login_pwd);
-
login.setOnClickListener(this);
-
mTextView.setOnClickListener(this);
-
}
-
@Override
-
public void onClick(View v) {
-
switch (v.getId()) {
-
case R.id.login_login:
-
//判断 记住密码 是否被选中
-
if(mIsRemember.isChecked()){
-
/*
-
* 内部存储API
-
* getFilesDir() 返回一个File 其路径是data/data/包名/files
-
* getCacheDir() 返回 一个File 其路径是data/data/包名/cache
-
*/
-
if(Environment.getExternalStorageState().equals(Environment.MEDIA_MOUNTED)){
-
String info = mLogin_user.getText().toString()+"##" +mLogin_pass.getText().toString();
-
File file = new File(Environment.getExternalStorageDirectory(),"info.txt");
-
FileOutputStream fos;
-
try {
-
fos = new FileOutputStream(file);
-
fos.write(info.getBytes());
-
fos.close();
-
} catch (IOException e) {
-
e.printStackTrace();
-
}
-
}else{
-
setToast("sd卡不可用哟亲么么哒");
-
}
-
}
-
setToast("登陆成功");
-
intent = new Intent(LoginActivity.this, MeiTuanMainActivity.class);
-
startActivity(intent);
-
break;
-
case R.id.login_back:
-
intent = new Intent(LoginActivity.this, MeiTuanMainActivity.class);
-
startActivity(intent);
-
break;
-
default:
-
break;
-
}
-
}
-
private void setToast(String str){
-
Toast.makeText(this, str, 1000).show();
-
}
-
}

浙公网安备 33010602011771号