我正在使用下面的代码来清除所有的共享首选项,但我只想在Flutter中使用键清除/删除特定的共享首选项值。
目前,我有这个可以清除所有的共享首选项。
SharedPreferences prefrences = await SharedPreferences.getInstance();
await prefrences.clear();
我正在使用下面的代码来清除所有的共享首选项,但我只想在Flutter中使用键清除/删除特定的共享首选项值。
目前,我有这个可以清除所有的共享首选项。
SharedPreferences prefrences = await SharedPreferences.getInstance();
await prefrences.clear();
你可以直接这样做:
prefrences.remove("keyName")
Dart的代码读起来相当容易,因此有时候如果没有足够的文档说明,你可以直接深入代码中查看:https://github.com/flutter/plugins/blob/481e8c251667bcb28d177bfc7d295d584e703bae/packages/shared_preferences/shared_preferences/lib/shared_preferences.dart#L146
SharedPreferences sharedPreference = await SharedPreferences.getInstance();
List<String> keys = sharedPreference.getKeys();
keys.remove("username");
.getKeys()
应该是一个Set<String>
,但无论如何,此代码仅会从存储在keys
中的键的副本中删除“username”
。实际上在SharedPreferences
中的键将保持不变,因为Dart是按值传递的。直接使用sharedPreferences.remove("username");
(就像@Manish的其他答案一样)是您想要的。 - Jeff NeetSharedPreferences prefrences = await SharedPreferences.getInstance();
await prefrences.remove("keyName");