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
是什么意思?
有人可以告诉我如何从首选项文件中获取所有字符串设置值,我保存在这个文件中只是设置列表?
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
是什么意思?