我正在使用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();
答案 0 :(得分:0)
听起来你正在覆盖活动之间的共享偏好。 SharedPreferences像磁盘上的文件一样持久,因此您不应该对未设置的值存在问题,因此必须覆盖它的原因。
您可以通过
获取SharedPreferences
SharedPreferences sp1=getSharedPreferences("myshared", 0);
String name = sp1.getString("name", "noname");
String pass = sp1.getString("pass", "nopass");
...
您可以通过检查名称/传递是否与默认值(noname
和nopass
相等来确定是否设置了名称/传递,尽管它可以很容易地为null
。 / p>