15
  1. 如何检索从以前的活动中保存的共享首选项?
  2. 我是否需要启用文件写入或其他一些清单修改?
4

3 回答 3

39

您不需要任何特殊的清单修改来实现这一点。

假设您已经保存了首选项,您可以随时阅读这些首选项,如下所示。

  1. 写入共享首选项文件:

      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!
    
  2. 从共享首选项文件中读取:

      SharedPreferences prefs = getSharedPreferences("your_file_name",
      MODE_PRIVATE); String string = prefs.getString("yourStringName",
      "default_value_here_if_string_is_missing");
    

您可以使用默认文件来保存/读取您的首选项。只需将上面两个代码片段的第一行替换为以下内容:SharedPreferences prefs = getDefaultSharedPreferences(getApplicationContext());

就是这样!在这里查看 Android 开发者专用页面。

希望它有用。让我知道。

于 2012-09-14T23:16:03.513 回答
9

除了确保两个活动都写入/读取同一个文件之外,您不需要做任何特别的事情。在后台,首选项只是存储为 XML 文件。

所以,你的选择是:

1) 使用两个活动中的PreferenceManager.getDefaultSharedPreferences()写入默认文件。

2) 使用Context.getSharedPreferences()指定自定义文件名,并在两个活动中使用相同的名称。

于 2012-09-14T22:13:00.337 回答
2

共享首选项就是这样,共享的。只要您在通过调用 Editor.commit() 编辑首选项后正确保存首选项,它们将在未来可用。

于 2012-09-14T22:29:26.080 回答