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轻量级无侵入式管理数据库自动升级组件怎么实现...
今天小编给大家分享一下Android实现自定义圆形进度条的常用方...
这篇文章主要讲解了“Android如何解决字符对齐问题”,文中的...
这篇文章主要介绍“Android岛屿数量算法怎么使用”的相关知识...
本篇内容主要讲解“Android如何开发MQTT协议的模型及通信”,...
本文小编为大家详细介绍“Android数据压缩的方法是什么”,内...