我使用以下方法创建了SharedPreference obj: 注意:在相同的pref文件名下创建首选项数
public static Sting name = "abx"; //pref file name
spo = context.getsharedpreference(name , mode_private);
editor = spo.edit(); //get the editor associated with pref obj
Map<String, String> test= new HashMap<String, String>();//create a map
test.put("1", "abc");//fill the values
test.put("2", "efg");//used map because values are stored in key -value pairs
test.put("3", "ghj");
for (String s : test.keySet()) {
// use the name as the key, and the icon as the value
editor.putString(s, nameIcons.get(s));//use the key as preference name
}
editor.commit();//commit the preferences
我有疑问,如果我错了,请纠正我,创建名为“abz”的SharedPreference文件,并在此文件中将首选项值存储为键 - 值对,或者如果编辑器obj为每个键创建新的首选项文件,什么是在sharedprefences对象创建时使用提供pref文件名?
答案 0 :(得分:1)
基本上,您可以为给定的应用程序创建多个首选项文件。有一些原因可以想象这样做,如果您有多个帐户,最好的情况。您可以标记一组首选项“account1”和另一个“account2”。只需跟踪您所在的帐户,就可以共享代码而不会产生大量复杂性。
除非您专门使用此功能,否则我建议您使用context.getApplicationContext().getPackageName()
作为名称,因为它几乎可以在任何地方使用。
答案 1 :(得分:0)
基本上每个循环内部发生的事情: - 优先级中只存储一个值,而不是使用代码中为地图中的每个值提供的名称创建SharedPreferance文件。
在创建sharedPreferance期间使用Giving文件名,以便可以在应用程序的其他部分检索它并可以访问其值。