【发布时间】:2012-09-08 02:16:31
【问题描述】:
- 如何检索已从 以前的活动?
- 我是否需要启用文件写入或其他一些清单修改?
【问题讨论】:
标签: java android android-activity sharedpreferences
【问题讨论】:
标签: java android android-activity sharedpreferences
您不需要任何特殊的清单修改来实现这一点。
假设您已经保存了首选项,您可以随时读取这些首选项,执行如下所示的操作。
写入共享首选项文件:
SharedPreferences prefs = getSharedPreferences("your_file_name", MODE_PRIVATE); SharedPreferences.Editor editor = prefs.edit(); editor.putString("yourStringName", "this_is_the_saved_value"); editor.commit(); // This line is IMPORTANT. If you miss this one its not gonna work!
从共享首选项文件中读取:
SharedPreferences prefs = getSharedPreferences("your_file_name", MODE_PRIVATE); String string = prefs.getString("yourStringName", "default_value_here_if_string_is_missing");
您可以使用默认文件来保存/读取您的首选项。只需将上面两个代码 sn-ps 的第一行替换为:SharedPreferences prefs = getDefaultSharedPreferences(getApplicationContext());
就是这样!请查看 Android 开发者专用页面here。
希望它有用。让我知道。
【讨论】:
除了确保两个活动都在同一个文件中写入/读取之外,您不需要做任何特别的事情。在后台,首选项只是存储为 XML 文件。
所以,你的选择是:
1) 使用两个活动中的PreferenceManager.getDefaultSharedPreferences() 写入默认文件。
2) 使用Context.getSharedPreferences() 指定自定义文件名,并在两个活动中使用相同的名称。
【讨论】:
共享偏好就是这样,共享的。只要您在通过调用 Editor.commit() 编辑首选项后正确保存首选项,它们将在未来可用。
【讨论】: