Как очистить все ключи SharedPreferences, кроме двух клавиш во флаттере - PullRequest
1 голос
/ 05 июня 2019

Я пытаюсь очистить все значения ключей SharedPreferences во время выхода из системы, кроме 2 ключей "EmailID" и "Password". Поскольку мы знаем, что во флаттере разрешен только один экземпляр SharedPreferences, я не могу создать другой экземпляр для хранения "EmailID" и "Password" и удаления определенного ключа, поэтому не рекомендуется удалять более 20 ключей. Если бы я использовал prefs.clear();, это очистит все ключевые значения любой помощи, большое спасибо.

1 Ответ

1 голос
/ 05 июня 2019

Невозможно избежать этого, вы должны очистить эти значения один за другим.

Вы должны повторять ключи общих настроек и избегать ключей, которые вы не хотите очищать.

 SharedPreferences preferences = await SharedPreferences.getInstance();
        preferences.getKeys();
        for(String key in preferences.getKeys()) {
          if(key != "email" && key!= "password") {
            preferences.remove(key);
          }
        }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...