2015-12-26 52 views
0

我想在我的應用程序中使用sharedpreferences,但在互聯網上的所有教程和文檔中,我找不到將文件放在哪裏以便使用。何處放置文件以存儲sharedpreferences

我的意思是,試圖訪問它,所以當:

public static final String PREFS_NAME = "AOP_PREFS"; 
SharedPreferences settings = getSharedPreferences(PREFS_NAME, Context.MODE_PRIVATE); 

我不知道在哪裏把文件AOP_PREFS.xml使我的類可以使用它。我是否錯過了一些東西,而我並不想創建一個文件?

回答

0

我不太明白你在這裏想做什麼。如果您的代碼位於活動課程中,則只需撥打getSharedPreferences(int)而不是getSharedPreferences(String, int)即可。你得到的偏好是這樣的:

SharedPreferences prefs = getSharedPreferences (Context.MODE_PRIVATE); 

或者你可以使用PreferenceManager類來獲取共享偏好以及:

SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(this); 

其中thisContext對象。

您可以使用一個鍵(在這種情況下,myString)從首選項中檢索一個字符串。

prefs.getString ("myString", ""); 

如果您還沒有保存與myString鍵的字符串,第二個參數將被退回。

這怎麼可以節省串入的喜好:

prefs.edit().putString ("myString", "Some String value"); 

第一個參數是關鍵,第二個是值。不言自明!

現在記住!每次存盤時,請致電apply()

prefs.edit().putString ("myString", "Some String value").apply(); 
                 ******* 

而這就是所有你必須知道的共享偏好!

0

使用SharedPreferences,該文件會自動創建在應用程序內部存儲的files文件夾中,因此您不需要明確地執行任何操作來創建文件。

這種情況下的文件將是AOP_PREFS.xml

您也可以使用「默認」SharedPreferences,它將存儲在一個xml文件中,包含您的應用的軟件包名稱。寫作

例爲默認SharedPreferences:

SharedPreferences sp = PreferenceManager.getDefaultSharedPreferences(this); 
    SharedPreferences.Editor editor = sp.edit(); 
    editor.putLong("some_value", someValue); 
    editor.commit(); 

閱讀:

SharedPreferences sp = PreferenceManager.getDefaultSharedPreferences(this); 
    Long someVal = sp.getLong("some_value", 0); 

需要注意的是,除非你有一個根深蒂固的設備,您將無法在內部存儲以查看文件。