我在使用SharedPreferences时遇到了一些问题。我想保存并稍后将字符串加载到/从首选项。 我初始化我的首选项在OnCreate法:SharedPreferences不起作用
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,文本是TextView。 但是,执行showUser()时,我只能得到显示给TextView的默认值,即使我用不同的用户名使用saveUser ...没有崩溃或任何东西...它只是只显示默认值...
好吧,我已经将它改为edit.putString(“username”,username).commit(); ...我还需要edit.apply();命令? – 2013-04-11 12:05:44
不可以。您可以选择两种解决方案之一。在我的看法中,Rajesh提供的解决方案在代码编写方面更“干净”。但是,你当然可以在线进行编辑。 – Lefteris 2013-04-11 12:09:15