具有多个活动的 Android 共享偏好设置

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

答案 1

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

假设您已经保存了首选项,您可以随时阅读这些首选项,就像我在下面显示的那样。

  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 Developers 专用页面,了解此事,请点击此处

希望它是有用的。让我知道它。


答案 2

您不需要执行任何特殊操作,只需确保两个活动都写入/读取同一文件。在后台,首选项仅存储为 XML 文件。

因此,您的选择是:

1) 从两个活动使用 PreferredManager.getDefaultSharedPreferences() 写入默认文件。

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


推荐