如何清除抖动中除2个键之外的所有SharedPreferences键

时间:2019-06-05 07:17:31

标签: flutter dart sharedpreferences

我正在尝试在注销期间清除SharedPreferences的所有键值,除了两个键"EmailID""Password"。我们知道,在flutter中只允许一个SharedPreferences实例,所以我不能为存储"EmailID""Password"创建另一个实例,并且删除特定密钥并不是删除20多个密钥的好习惯。如果我使用prefs.clear();将会清除所有键值,将对所有帮助表示感谢。

1 个答案:

答案 0 :(得分:1)

没有办法避免这种情况,您必须一一清除这些值。

您必须迭代共享的首选项键,并避免使用不想清除的键。

 SharedPreferences preferences = await SharedPreferences.getInstance();
        preferences.getKeys();
        for(String key in preferences.getKeys()) {
          if(key != "email" && key!= "password") {
            preferences.remove(key);
          }
        }