我正在使用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/