2010-10-19 183 views
5

當你建立一個共享的偏好,如下面...訪問共享偏好

public static final String PREFS_HI = "MyPrefsFile"; 

是否可以從其他活動訪問它,就像你通常會怎麼做?

SharedPreferences settings = getSharedPreferences(PREFS_HI, 0); 

或者是否有某種獨特的,你必須做的訪問偏好?

回答

1

自己弄明白了。我只使用全局變量並在其中存儲共享首選項。當另一個活動想要訪問首選項時,它會簡單地訪問全局變量。

+0

你的意思是你'SharedPreferences'存儲爲'公共static'?你真的不應該這樣做。我犯了同樣的錯誤,即使它有效,它也會導致巨大的內存泄漏。請參閱:http://android-developers.blogspot.in/2009/01/avoiding-memory-leaks.html – 2013-07-19 04:42:31

3

我會在資源xml文件(strings.xml)中存儲您的共享首選項名稱(您稱之爲PREFS_HI)。那麼你可以使用getSharedPreferences(getResources().getString(R.string.sharedPrefs))。雖然你的解決方案也可以。 (和性能可能會在您的版本稍微好一點。)

+0

雅,我看着這個選擇也。 – 2010-10-21 20:42:33

0

getApplication()。getSharedPreferences(名稱,模式)試試這個