如何在活动中使用SharedPreference

时间:2013-06-30 08:24:59

标签: android sharedpreferences preferences preferenceactivity

我正在使用SharedPreference编写代码来存储用户的用户名和密码,但每次输入信息时,xml文件中的旧代码都会被新版本覆盖,以获取我的所有数据?

 SharedPreferences sp1=getSharedPreferences("myshared", 0);
 sp1.edit().putString("name", name.getText().toString()).commit();
 sp1.edit().putString("pass", pass.getText().toString()).commit();
 sp1.edit().putString("age",age.getText().toString()).commit();
 sp1.edit().putString("id",id.getText().toString()).commit();

1 个答案:

答案 0 :(得分:0)

听起来你正在覆盖活动之间的共享偏好。 SharedPreferences像磁盘上的文件一样持久,因此您不应该对未设置的值存在问题,因此必须覆盖它的原因。

您可以通过

获取SharedPreferences
SharedPreferences sp1=getSharedPreferences("myshared", 0);
String name = sp1.getString("name", "noname");
String pass = sp1.getString("pass", "nopass");
...

您可以通过检查名称/传递是否与默认值(nonamenopass相等来确定是否设置了名称/传递,尽管它可以很容易地为null。 / p>