我正在使用SharedPreferences在我的应用程序中的所有Activities中存储数据。我可以这样访问它:

SharedPreferences mSharedPreferences = getSharedPreferences("MyPrefs", 0);

我已经实现了PreferenceActivity,因此用户可以通过它更改值,但是碰巧它不是将数据读/写到“MyPrefs”而是写到了:
PreferenceManager.getDefaultSharedPreferences(getApplicationContext());

这对我来说有点出乎意料。是否可以强制PreferenceActivity处理我的“MyPrefs”偏好设置?在单个应用程序中具有多个首选项的意义何在?谢谢你。

最佳答案



很好,只要您不打算使用PreferenceActivity即可。



哎呀。

另外,除非在那里有使用getApplicationContext()的特定原因,而不是 Activity/服务/其他任何原因,否则请在那里删除Application。仅在需要且知道为什么要使用时才使用Application对象。



不容易。除非您有特定的理由要发明自己的SharedPreferences文件,否则我将使用默认文件。



您可能有一个可重用的库或组件想要将内容存储在SharedPreferences中,并且可能具有自己的文件,以免破坏托管应用程序的任何首选项。话虽如此,通常不需要多个首选项文件。

关于android - 如何强制PreferenceActivity处理我的SharedPreferences?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/7705985/

10-10 06:56