当前位置: 首页 > 面试题库 >

清除Android中SharedPreferences中的首选项,而不仅仅是值

萧献
2023-03-14
问题内容

从SharedPreferences文档中可以得出的结果来看,我可以更新首选项,添加一个或清除共享首选项文件中的所有首选项值。

但是我想完全清除共享首选项文件中的所有内容,不仅是值,还包括它们所引用的首选项。


问题答案:

如果您有一个SharedPreferences.Editor对象并致电clear(),这不会得到您想要的东西吗?它将删除所有首选项,如果您调用sharedPref.getAll()它,它会为您提供大小为0的地图[我刚刚测试过]。

要删除一个特定的首选项,请致电editor.remove(pref),其中pref是首选项名称。

PS:不要忘记通过在编辑器上调用commit()或apply()方法来提交更改。apply()更快,因为它是异步的。commit()是同步的,但返回一个布尔值,指示提交是否成功。



 类似资料:
  • 问题内容: 这可能很简单,这是我的查询: 但这只会删除具有相同u.name和p.pic_id的行中的重复项。我想要这样,如果名称有任何重复,则只剩下其他行。这是一个奇怪的查询,但是总的来说,我如何将不重复项应用于SELECT子句的单个列? 问题答案: 任意选择保留最小的PIC_ID。另外,请避免使用隐式连接语法。

  • 当我发送FCM消息且应用程序处于后台时,我想清除共享首选项。在方法中,我正在调用一个方法来清除它们。 我得到以下错误: 未处理的异常:MissingPluginException(在channel plugins.flatter.io/shared_首选项上找不到方法getAll的实现)

  • 我开始认为我的问题是我的偏好没有正确完成,这就是为什么我无法访问tem。以下是我的偏好: Java: 这是我对设置菜单的调用: 因此,任何帮助将不胜感激!我正在尝试访问这些首选项,但无法访问。它似乎很好地拯救了他们。我能够测试和运行代码,更改pref并保存它们的状态。但是,当我尝试访问它们时,我不能...以下是我用来尝试访问它们的代码: 编辑:我已将其更改为如下调用,无论设置如何,它仍然是“你好,

  • 问题内容: 这个问题已经在这里有了答案 : Java:清除控制台 (12个答案) 4年前关闭。 是否有任何选项可以将Java中的屏幕清除为C中的clrscr()。 问题答案: 随着肮脏的黑客的袭击,我喜欢msparer的解决方案。我见过的一种甚至更脏的方法(我自己不会做。我发誓。的确如此。)是在控制台上写了一堆换行符。这根本不会清除屏幕,但是会给用户带来清晰屏幕的错觉。

  • 问题内容: 我有一个这样的表: 17年7月1日100年 7月2日100年 3月7日100年17年7月300 17年7月4日300年 7月5日500年 7月5日500年7月7日听500年 7月7日听300年 8月7日听700年17年7月 9日听100 17年7月10日听100 我想输出是(按顺序)通过消除重复的连续但不是全部重复: 100 300 500 300 400 100 我无法选择Disti

  • 具有类型的HashMap 希望更新主地图内地图的所有键值对。是一个方法,它在添加值后返回。 我如何在上面的代码中也更新?将值增加1