保存并从 Sharedpreference 调用 Stringbuilder [重复]

Posted

技术标签:

【中文标题】保存并从 Sharedpreference 调用 Stringbuilder [重复]【英文标题】:save and call Stringbuilder from Sharedpreference [duplicate] 【发布时间】:2016-11-06 21:25:32 【问题描述】:

Stringbuilder 的帮助下,我正在使用下面的代码进行一些迭代测试,并希望将结果直接保存到Sharedpreference

save2.setOnClickListener(new View.OnClickListener() 
    @Override
    public void onClick (View v)
        int i;
        int n = 10;

        StringBuilder outoutcome = new StringBuilder();
        for (i = 0; i <= n; i++) 
            outoutcome.append(i + "\n");
        

        SharedPreferences sharedPreferences = getSharedPreferences("data1", Context.MODE_PRIVATE);
        SharedPreferences.Editor editor = sharedPreferences.edit();
        editor.putString("outcome1", outoutcome.toString());
    

*我也试过editor.putString("outcome1", String.valueOf(outoutcome));,但很遗憾不能。

为了在另一个活动中检索数据,我尝试使用下面的编码:

public static final String DEFAULT = "";
final SharedPreferences sharedPreferences = getSharedPreferences("data1", Context.MODE_PRIVATE);
final String out1 =sharedPreferences.getString("outcome1", DEFAULT);
resultout.setText("Saved data is " + out1 );

但上面的编码不起作用。然后,我搜索并找到 this ,尝试了如下代码但仍然无法正常工作。

 final String[] getout1= out1.split(",");
 resultout.setText("Saved data is " + getout1 );

有人可以帮忙吗?提前谢谢你!

【问题讨论】:

放值后叫editor.commit吗? 谢谢!!!!!!我真的忘记打电话给那个了。并且在调用之后所有的东西都重新工作了...... arrrhh.... 【参考方案1】:

您必须使用apply()commit() 来保存更改。

editor.apply();

editor.commit();

【讨论】:

是的,刚刚发现忘记了 editor.commit() 。认为其他事情会导致这个问题,并失去了对此的关注。谢谢。

以上是关于保存并从 Sharedpreference 调用 Stringbuilder [重复]的主要内容,如果未能解决你的问题,请参考以下文章

手机日期更改时从 sharedpreference 中删除保存的数据

使用SharedPreference保存用户数据的步骤

用SharedPreference或文件的方式存储数据

SharedPreference.Editor的apply和commit方法异同

SharedPreference工具类

整数共享首选项始终返回0