android – 如何强制PreferenceActivity处理我的SharedPreferences?

我正在使用SharedPreferences在我的应用程序中的所有活动中存储我的数据.我可以像这样访问它:
SharedPreferences mSharedPreferences = getSharedPreferences("MyPrefs",0);

我已经实现了PreferenceActivity,因此用户可以通过它更改值,但它发生的是读取/写入数据不是“MyPrefs”,而是:

PreferenceManager.getDefaultSharedPreferences(getApplicationContext());

这对我来说有点意外.是否可以强制PreferenceActivity处理我的“MyPrefs”偏好?在单个应用程序中有多个首选项有什么意义?谢谢.

解决方法

I get access to it like this

这没关系,只要你不打算使用PreferenceActivity.

I’ve implemented PreferenceActivity so users can change values through it

哎呀.

另外,除非你有特定的理由使用Application而不是activity / service / whatever,否则在那里摆脱getApplicationContext().只有在必要时才使用Application对象,并且您知道为什么必须这样做.

Is that possible to force PreferenceActivity to deal with my “MyPrefs” preferences?

不容易.除非你有一些特定的理由发明你自己的SharedPreferences文件,否则我会使用认的.

And what is the point to have several preferences within single application?

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

相关文章

Android性能优化——之控件的优化 前面讲了图像的优化,接下...
前言 上一篇已经讲了如何实现textView中粗字体效果,里面主要...
最近项目重构,涉及到了数据库和文件下载,发现GreenDao这个...
WebView加载页面的两种方式 一、加载网络页面 加载网络页面,...
给APP全局设置字体主要分为两个方面来介绍 一、给原生界面设...
前言 最近UI大牛出了一版新的效果图,按照IOS的效果做的,页...