0

我想保存一个首选项,以便我可以从我的应用程序中的所有类访问它。但它不应该从我的应用程序外部访问,因为它将包含用户登录数据。

在 Android 文档中,我认为MODE_PRIVATE应该这样做。但是如果我使用 MODE_PRIVATE 我只能从我创建它的类中访问首选项。

类1.java:

....
SharedPreferences prefs = getPreferences(MODE_PRIVATE);
SharedPreferences.Editor editPrefs = prefs.edit();
editPrefs.putString("myPref", "myValue");
editPrefs.commit();
...

类2.java:

...
SharedPreferences prefs = getPreferences(MODE_PRIVATE);
String myString = prefs.getString("myPref", " ");
...

如果我getString在创建它的同一个类中调用,那么它会返回myValue(即使在关闭应用程序之后,也不会再次放置它)。

如果我getString在同一个应用程序中调用另一个类,则它返回“”。

谢谢!

4

1 回答 1

0

尝试这个:

PreferenceManager.getDefaultSharedPreferences(getApplicationContext());

有关文档,请参阅:http: //developer.android.com/reference/android/preference/PreferenceManager.html#getDefaultSharedPreferences(android.content.Context)

于 2014-11-01T12:53:24.170 回答