【发布时间】:2012-03-01 14:40:35
【问题描述】:
我在 Android 中使用 SharedPreferences。在同一个会话中一切都很好。
但是,一旦我重新启动应用程序,之前会话设置的所有首选项都会丢失。
我需要指定什么来告诉 SharedPreferences 从一个运行到另一个运行吗?
我正在通过调用创建首选项
SharedPreferences preferences = PreferenceManager.getDefaultSharedPreferences(this);
然后我通过例如设置属性
preferences.edit().putString(key, value);
我得到它
preferences.getString(key, defaultValue);
谢谢, 维克多
【问题讨论】:
-
你写过 editor.commit() 吗?
-
如果你是
Set<String没有在应用会话之间保存,那是因为一个错误。使用此解决方法:stackoverflow.com/a/26315757/2371425. -
非常感谢 Sakiboy。在调用 commit 之后,我花了将近 4 个小时试图弄清楚为什么仍然在同一个上下文中验证更改,但随后切换到另一个上下文,我更新的值又恢复为旧值。 Android 请记录这些东西并做好你的工作,这样我就可以做我的了。在 cpu 上浪费了 4 个小时,因为出于某种原因,Android/Google 的文档很差......天哪!
标签: android session sharedpreferences