如何从 SharedPreference 文件中读取 android

How to read from SharedPreference file android

在我的 MainActivity 中,我编写了一些代码,我假设这些代码创建了一个文件并在该文件中保存了一个值。

public static final String WHAT_I_WROTE = null;
 public void sendMessage(View view) {
    EditText editText = (EditText) findViewById(R.id.editText);
    String message = editText.getText().toString();

    //creates new SharedPreference?
    SharedPreferences saver = getSharedPreferences("saved_text", Context.MODE_PRIVATE);

    //writes to the preferences file called saved_text?
    SharedPreferences.Editor writer = saver.edit();
    writer.putString(WHAT_I_WROTE, message);
    writer.commit();
}

在另一个 activity 中,我希望能够读取消息并显示它,但是当我尝试这样做时,它无法解析符号 "saver"。

String text_for_display = saver.getString(WHAT_I_WROTE);

我在这里犯了什么错误,如何更正它以读取保存的字符串?

谢谢。

在另一个 activity 中,您必须再次初始化共享首选项。

    SharedPreferences saver = getSharedPreferences("saved_text", Context.MODE_PRIVATE);
    String text_for_display = saver.getString(WHAT_I_WROTE),"any_default_value";

WHAT_WROTE = "anyText"

将此添加到另一个 activity 你有:

SharedPreferences saver = getSharedPreferences("saved_text", Context.MODE_PRIVATE);

然后这样读

String myValue = saver.getString("saved_text", "default_value");

偏好设置值就像,

SharedPreferences.Editor editor = getSharedPreferences("saved_text", MODE_PRIVATE).edit();
 editor.putString("WHAT_I_WROTE", message);
 editor.commit();

检索数据,如

    SharedPreferences prefs = getSharedPreferences("saved_text", MODE_PRIVATE); 
String text_for_display = prefs.getString("WHAT_I_WROTE", null);

如有必要,不要忘记在“getSharedPreferences”之前加上“context”。