具有多项活动的Android共享首选项

时间:2012-09-14 22:07:00

标签: java android android-activity sharedpreferences

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

3 个答案:

答案 0 :(得分:35)

你不需要任何特殊的清单修改来实现这一目标。

假设您已经保存了偏好设置,您可以随时阅读这些偏好设置,如下所示。

  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");
    
  3. 您可以使用默认文件来保存/阅读您的偏好设置。只需用以下内容替换上面两个代码段的第一行:SharedPreferences prefs = getDefaultSharedPreferences(getApplicationContext());

    多数民众赞成!请查看Android开发者专用页面here

    希望它有用。让我知道。

答案 1 :(得分:7)

除了确保两个活动都写入/读取同一文件外,您不需要做任何特殊操作。在引擎盖下,首选项只是存储为XML文件。

所以,你的选择是:

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

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

答案 2 :(得分:1)

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