检索SharedPreference中的所有值 - Monoandroid

时间:2012-08-16 17:51:21

标签: android dictionary xamarin.android sharedpreferences key-value

我们如何检索SharedPreferences中的所有值 - Monoandroid?

上下文:我有一个名为“ActivatedModuleList”的SharedPreference。 ActivatedModuleList内的值如下

<?xml version='1.0' encoding='utf-8' standalone='yes' ?>
<map>
<string name="1006">Level6-PrimaryHolder Access</string>
<string name="1007">Level7-SecondaryKey Access</string>
</map>

将添加更多键/值,或者可以从此“ActivatedModuleList”中删除。在某些时候,我需要从这个SharedPreferences中读取所有键值对。

问题:

我们如何通过Monoandroid检索SharedPreferences中的所有值?

从Net获得此java代码,Monodroid相当于什么

Map<String, ?> prefsMap = sharedPreferences.getAll();
for (Map.Entry<String, ?> entry: prefsMap.entrySet())
{
   Log.v("SharedPreferences", entry.getKey() + ":" + entry.getValue().toString());
}

1 个答案:

答案 0 :(得分:3)

通过这种方式,您可以遍历所有首选项:

ISharedPreferences prefs = PreferenceManager.GetDefaultSharedPreferences(this);

foreach (KeyValuePair<string, object> preference in prefs.All)
{
    Log.Verbose("SharedPreferences", String.Format("{0}:{1}", preference.Key, preference.Value));
}