我想在一个活动中检索共享首选项中保存的值,以便在另一个活动中使用这些值。我知道共享首选项中保存的值在应用程序的所有活动中都可用。有谁知道我该怎么办?在此先感谢大家! 这是在我的 MenuActivity 中保存共享首选项的代码:
private final String DefaultEmailValue = "";
private String email;
private final String DefaultUsernameValue = "";
private String userName;
private static final String PREFS_NAME = "preferences";
private static final String PREF_EMAIL = "Email";
private static final String PREF_USERNAME = "Username";
private void savePreferences() {
SharedPreferences settings = getSharedPreferences(PREFS_NAME,
Context.MODE_PRIVATE);
SharedPreferences.Editor editor = settings.edit();
// Edit and commit
email = mEmail.getText().toString();
userName = mUsername.getText().toString();
System.out.println("onPause save email: " + email);
System.out.println("onPause save username: " + userName);
editor.putString(PREF_EMAIL, email);
editor.putString(PREF_USERNAME, userName);
editor.commit();
}
private void loadPreferences() {
SharedPreferences settings = getSharedPreferences(PREFS_NAME,
Context.MODE_PRIVATE);
// Get value
email = settings.getString(PREF_EMAIL, DefaultEmailValue);
userName = settings.getString(PREF_USERNAME, DefaultUsernameValue);
mEmail.setText(email);
mUsername.setText(userName);
System.out.println("onResume load email: " + email);
System.out.println("onResume load username: " + userName);
}
答案 0 :(得分:2)
你已经知道方法了。 您在一项活动中从“偏好设置”中获得了字段。
您可以使用与以前相同的方法在另一个活动中获取字段值。
SharedPreferences prefs = this.getSharedPreferences("preferences", Context.MODE_PRIVATE);
String email = prefs .getString("Email", "");
答案 1 :(得分:0)
您可以按名称将值保存到 SharedPreferences。只需在其他活动上按名称检索所需的值。 SharedPreferences 是应用程序的存储,而不仅仅是 Activity。您可以从可以实例化 SharedPreference 实例的任何位置检索数据。