您的位置:首页 > 移动开发 > Android开发

Android学习(20) -- 数据存储之SharedPreferences(存储账号密码)

2016-04-13 05:51 561 查看

SharedPreferences

SharedPreference是Android提供的一种轻量级的数据存储方式,主要用来存储一些简单的配置信息,例如,默认欢迎语,登录用户名和密码等。其以键值对的方式存储,使得我们能很方便进行读取和存入。

SharedPreference 文件保存在/data/data/< package name > /shared_prefs 路径下

通过Activity自带的getSharedPreferences方法,可以得到SharedPreferences对象。

public abstract SharedPreferences getSharedPreferences (String name, int mode);

name:表示保存后 xml 文件的名称

mode:表示 xml 文档的操作权限模式(私有,可读,可写),使用0或者MODE_PRIVATE作为默认的操作权限模式。

往SharedPreferences里写数据

数据的存入是通过SharedPreferences对象的编辑器对象Editor来实现的。通过编辑器函数设置键值,然后调用commit()提交设置,写入xml文件。

//拿到一个SharedPreferences对象
SharedPreferences sp = getSharedPreferences("config", MODE_PRIVATE);
//拿到编辑器
Editor ed = sp.edit();
//写数据
ed.putBoolean("name", name);
ed.commit();


从SharedPreferences里取数据

通过SharedPreferences对象的键key可以获取到对应key的键值。

SharedPreferences sp = getSharedPreferences("config", MODE_PRIVATE);
//从SharedPreference里取数据
String name = sp.getBoolean("name", "");


代码

登录保存账号和密码

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()){
//使用sharedPreference来保存用户名和密码
//路径在data/data/com.exp.sharedpreference/shared_prefs
SharedPreferences sp = getSharedPreferences("info", MODE_PRIVATE);
//拿到sp的编辑器
Editor ed = sp.edit();
ed.putString("name", name);
ed.putString("pass", pass);
//提交
ed.commit();
}

//创建并显示吐司对话框
Toast.makeText(this, "登录成功", 0).show();
}


读取账号和密码

public void readAccount(){
SharedPreferences sp = getSharedPreferences("info", MODE_PRIVATE);
String name = sp.getString("name", "");
String pass = sp.getString("pass", "");

et_name.setText(name);
et_pass.setText(pass);
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: