1

我正在使用 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();
4

1 回答 1

0

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

你可以SharedPreferences通过做得到 你的

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

您可以通过检查它们是否等于默认值来确定是否设置了名称/通行证(nonamenopass这种情况下,尽管很容易null)。

于 2013-06-30T08:38:37.140 回答