Android preferences: key 未知时获取所有设置值

Android preferences: get all set values when keys are unknow

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

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

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

你可以使用类似这样的东西。

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 是什么意思?