保存并从 Sharedpreference 调用 Stringbuilder

save and call Stringbuilder from Sharedpreference

我正在 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)); 但不幸的是不能。

为了在另一个 activity 中检索数据,我曾尝试使用以下编码:

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

有人可以帮忙吗?先谢谢你!

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

editor.apply();

editor.commit();