我在使用 SharedPreferences 时遇到了一些问题。我想保存并稍后将字符串加载到首选项中/从首选项中加载。我在 onCreate 方法中初始化我的首选项:
prefs = this.getSharedPreferences("com.example.android_test", Activity.MODE_PRIVATE);
我用另一种方法保存:
public void saveUser()
{
prefs.edit().putString("username", username);
prefs.edit().putString("password", password);
prefs.edit().apply();
}
并加载另一种方法:
public void loadUser()
{
username = prefs.getString("username", "default");
password = prefs.getString("password", "test");
}
这些是我的测试方法:
public void showUser(View v)
{
loadUser();
text.setText(username);
}
public void addUser(View v)
{
changeUser(eingabe.getText().toString(),"newpass");
}
public void changeUser(String user, String pass)
{
username = user;
password = pass;
saveUser();
}
用户名和密码是全局的私有字符串,eingabe 是 EditText,text 是 TextView。但是,在执行 showUser() 时,我只会将默认值显示到 TextView,即使我使用具有不同用户名的 saveUser ......没有崩溃或任何东西......它只是显示的默认值......