如何从SharedPreference文件中读取android

时间:2017-07-03 11:44:30

标签: android sharedpreferences saving-data

在我的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();
}

在另一项活动中,我希望能够阅读并显示它,但是当我尝试这个时,它无法解析符号" saver"。

String text_for_display = saver.getString(WHAT_I_WROTE);

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

感谢。

4 个答案:

答案 0 :(得分:0)

在另一项活动中,您必须再次初始化共享偏好。

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

WHAT_WROTE =" anyText"

答案 1 :(得分:0)

将此添加到您拥有的其他活动中:

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

然后像这样阅读

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

答案 2 :(得分:0)

优先设置值,例如

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

答案 3 :(得分:0)

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