如何在Flutter中使用键删除/清除共享首选项?

12

我正在使用下面的代码来清除所有的共享首选项,但我只想在Flutter中使用键清除/删除特定的共享首选项值。

目前,我有这个可以清除所有的共享首选项。

 SharedPreferences prefrences = await SharedPreferences.getInstance();
await prefrences.clear();
3个回答

23

这将从首选项中删除密钥,但不会删除分配给该密钥的值。我们如何完成这个任务(而不是将其设置为空字符串)? - Rohit Bhargava

3
如果您预先知道要删除哪个键,则可以删除特定的键。
SharedPreferences sharedPreference = await SharedPreferences.getInstance();
    List<String> keys = sharedPreference.getKeys();
    keys.remove("username");


希望能有所帮助。

2
这会删除键还是属于该键的字符串? - mLstudent33
.getKeys()应该是一个Set<String>,但无论如何,此代码仅会从存储在keys中的键的副本中删除“username”。实际上在SharedPreferences中的键将保持不变,因为Dart是按值传递的。直接使用sharedPreferences.remove("username");(就像@Manish的其他答案一样)是您想要的。 - Jeff Neet

0
SharedPreferences prefrences = await SharedPreferences.getInstance();
await prefrences.remove("keyName");

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接