2012-11-26 196 views
0

我創建SharedPreference OBJ使用下列內容: 注:在相同的首選項文件名創建喜好的數量android共享偏好存儲多個值;

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 

我有一個疑問,請糾正我,如果我錯了,有名字SharedPreference文件「ABZ」是創建並在此文件中的首選項值存儲爲鍵值對,或者如果編輯器obj爲每個鍵創建新的首選項文件,在創建共享首選項對象時提供pref文件名的用法是什麼?

回答

1

本質上,您可以爲給定的應用程序創建多個首選項文件。有幾個原因可以設想這麼做,如果你有多個賬戶,最好的就是這樣。您可以標記一組偏好「account1」和另一個「account2」。只要跟蹤您所在的帳戶,您就可以共享代碼,而不需要太多的複雜性。

除非您特別使用此功能,否則我建議您使用context.getApplicationContext().getPackageName()作爲名稱,因爲它應該幾乎在任何地方都可用。

0

基本上每個循環內部發生了什麼: - 只有一個值存儲在首選項中,而不是使用代碼中爲地圖中每個值提供的名稱創建SharedPreferance文件。

在創建sharedPreferance期間使用給予文件名,以便可以在應用程序的其他部分檢索並可以訪問其值。