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

前端之家收集整理的这篇文章主要介绍了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中存储内容,并且可能有自己的文件,以免弄乱托管应用程序中的任何首选项.话虽如此,通常不需要多个首选项文件.

原文链接:https://www.f2er.com/android/316930.html

猜你在找的Android相关文章