android尝试使用首选项保存数据,不起作用

时间:2011-05-04 14:32:24

标签: android preferences

我正在尝试学习如何使用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");

3 个答案:

答案 0 :(得分:4)

当然,这两个答案都是正确的,但dmon的解决方案更容易和更简单:)

足以重写你的代码:

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()