标签:
Android 提供了一种数据轻量级的数据持久化方法。使用SharedPreferences 接口 将 key-value 形式的primitive data 存储到文件中。多用于保存软件偏好配置信息。
注意的几点:
1.存储内容:primitive data。(booleans, floats, ints, longs, and strings.)
2. 存储形式:key-value 键值对,存储到xml文件中。
使用的方法:
getSharedPreferences(String name, int mode)【或者 getPreferences()】 获得 SharedPreferences 对象。
读操作:
通过 SharedPreferences 对象 直接调用 getBoolean getInt 等等方法获取 。
写操作:
通过 SharedPreferences 获取 Editor 对象 ,适应Editor对象调用 putBoolean 等方法写文件。
SharedPreferences 的文件存储地址:/data/data/<packagename>/shared_prefs 目录下
实例: 用户登录界面的记住密码功能

public class MainActivity extends Activity {
EditText user_name, pass_word;
CheckBox rememberCheck;
Button btnlogin;
// SharedPreferences setting;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
user_name = (EditText) findViewById(R.id.etusername);
pass_word = (EditText) findViewById(R.id.etpassword);
rememberCheck = (CheckBox) findViewById(R.id.checkBox1);
btnlogin = (Button) findViewById(R.id.btnlogin);
// 读取sharedpreference中的值
SharedPreferences sharepre = getSharedPreferences("data", MODE_PRIVATE); // 如果 data 文件不存在,创建一个
//String isCheckedStr = sharepre.getString("isChecked", "");
boolean isChecked = sharepre.getBoolean("isChecked", false); // 带默认值的
if(isChecked){
String username = sharepre.getString("username","");
String password = sharepre.getString("password", "");
user_name.setText(username);
pass_word.setText(password);
rememberCheck.setChecked(true);
}
// 登录事件响应
btnlogin.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View arg0) {
// TODO Auto-generated method stub
SharedPreferences.Editor editor = getSharedPreferences(
"data", MODE_PRIVATE).edit();
if (rememberCheck.isChecked()) {
// 保存值到 sharedPreferences
editor.putBoolean("isChecked", true);
editor.putString("username", user_name.getText().toString());
editor.putString("password", pass_word.getText().toString());
}else{
editor.clear();
}
editor.commit();
Intent i = new Intent(MainActivity.this,SettingActivity.class);
startActivity(i);
}
});
}
在 DDMS 的file explorer 中可以找到生成的 xml 文件:
标签:
原文地址:http://www.cnblogs.com/igoogleyou/p/androidsharedpreferences.html