2012-03-02 42 views
1

我非常新的Android開發人員。我瀏覽過這裏的API http://developer.android.com/reference/android/content/SharedPreferences.html如何獲得SharedPreferences文件的內容,並覆蓋它們嗎?

,但我感到困惑的是如何真正得到文件內容和讀取或寫入它們。

我有這樣的代碼來獲取SharedPreferences對象:

SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(MyClassName.this); 

但在這種情況下,我得到的參考sharedPreferences,而不是存儲的偏好的數據到我的文件的連接。

也許我沒有正確理解API,但我怎麼拿到參考文件和讀/寫呢?

謝謝!

回答

1

如果你想從你的SharedPreferneces得到的值,你必須使用(這個例子也適用於字符串,但你也可以撥打getBoolean,getInt等等)

prefs.getString("myString", "defaultValue"); // "defaultValue" will be returned in case "myString" wasn't saved on the SharedPreferences 

存儲一些值,您可以像這樣做:

prefs.edit() 
.putString("myString", "newValue") 
.putBoolean("working", true) 
.commit(); 

正如你可以看到你可以同時編輯多個值..

1

edit()將返回你,你有爲了修改sharedpreferences文件,使用編輯器,當你結束編輯它,以使更改永久

1

但在這種情況下調用commit(),我得到的參考sharedPreferences,而不是存儲的偏好的數據到我的文件的連接。

SharedPreferences對象與存儲偏好數據的文件有「連接」。

也許我不正確地理解API,但我該如何獲得對文件的引用並對其進行讀/寫?

要閱讀首選項,請使用SharedPreferences(例如getString())上的獲得者。寫自己的喜好:

  • SharedPreferences對象上調用edit()
  • 使用制定者對Editor(例如,putString()
  • 呼叫apply()(如果可能)或commit()Editor獲取一個SharedPreferences.Editor保存您的更改

此外,您可以(並且在許多情況下應該)也使用PreferenceActivity允許用戶直接查看和修改自己的喜好。