【问题标题】:Android preferences: get all set values when keys are unknowAndroid 首选项:在未知键时获取所有设置值
【发布时间】:2015-10-18 23:24:31
【问题描述】:

谁能告诉我如何从首选项文件中获取所有字符串集值,我保存在这个文件中只是设置列表?

Set<String> set = new HashSet<String>(); 
set.add("value1");
set.add("value2");
set.add("value3");
editor.putStringSet("key", set);

问题我不知道会选择哪个键来保存。这是否可以在不知道密钥的情况下读取所有可用的集合列表?

【问题讨论】:

  • 我想保存一些项目,例如 key= project5, value1 = place, value2= person 等等。所以我不知道用户希望永久保存哪个项目

标签: android sharedpreferences preferences persist


【解决方案1】:

你可以使用这样的东西。

Map<String, ?> keys = PreferenceManager.getDefaultSharedPreferences(this).getAll();
for (Map.Entry<String, ?> entry : keys.entrySet()) {
    if (entry.getValue() instanceof Set) {
        Log.e("Set values", entry.getKey() + ": " +
                entry.getValue().toString());
    }
}

虽然我不确定你为什么要这样做?因为您应该使用一些特定的键设置数据,以便以后可以获取相同的数据。 I don't know which key will be chosen to save 是什么意思?

【讨论】:

  • 谢谢,我会试试的。我的意思是我不知道用户会选择哪个条目将条目保存在首选项文件中。
  • 它工作得很好,我只是遇到了一个问题,因为我没有使用 defaultSharedPreferences。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-07-02
  • 1970-01-01
  • 2014-10-10
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多