我正在尝试学习如何使用SharedPrences来保存数据。
在下面的测试代码中,getString不返回任何值,而不是'ted',但我无法弄清楚原因。
public void onCreate(Bundle savedInstanceState) {
SharedPreferences pre=getPreferences(MODE_PRIVATE);
pre.edit().putString("label","ted");
pre.edit().commit();
String tr;
tr=pre.getString("label","no value");
答案 0 :(得分:4)
足以重写你的代码:
public void onCreate(Bundle savedInstanceState) {
SharedPreferences pre=getPreferences(MODE_PRIVATE);
pre.edit().putString("label","ted").commit();
String tr=pre.getString("label","no value");
答案 1 :(得分:2)
可能是因为你重新调用了edit()
函数吗?试试这个:
public void onCreate(Bundle savedInstanceState) {
SharedPreferences pre=getPreferences(MODE_PRIVATE);
SharedPreferences.Editor ed = pre.edit();
ed.putString("label","ted");
ed.commit();
String tr;
tr=pre.getString("label","no value");
}
答案 2 :(得分:2)
简单,edit()
创建编辑器。你把价值放在一个并承诺另一个。只需将edit()
返回值保存在Editor变量中,然后在其中调用commit()
。