Shared_Preferences для Flutter Web? - PullRequest
       0

Shared_Preferences для Flutter Web?

0 голосов
/ 03 ноября 2019

Shared_preferences (https://pub.dev/packages/shared_preferences), кажется, не работает для Flutter for Web.

У меня есть следующая функция, которая вызывается при нажатии кнопки.

 getEmail() async {
    print("reached 1st line");
    SharedPreferences prefs = await SharedPreferences.getInstance();
    print("reached 2nd line");
    String _confirmedEmail = prefs.getString('_confirmedEmail') ?? "";
)

Он печатает "достиг 1-й строки", но не "достиг 2-й строки", что означает, что программа не проходит после оператора await. Интересно, что я тоже не получаю никакой ошибки. Кажется, что после игнорирования остальной части функции просто игнорируетсяоператор await.

Какая наилучшая альтернатива для хранения общих настроек во Flutter for Web?

Ответы [ 2 ]

3 голосов
/ 03 ноября 2019

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

0 голосов
/ 03 ноября 2019

Вы, вероятно, проверяете теги при поиске библиотеки в pub.dev .

Для Интернета лучший способ реализовать это реализовать кеш для веб и dcache для реализации, использующей flutter_web.

import 'package:dcache/dcache.dart';

void main() {
  Cache c = new SimpleCache(storage: new SimpleStorage(size: 20));

    c.set("key", 42);
    print(c.get("key")); // 42
    print(c.containsKey("unknown_key")); // false
    print(c.get("unknown_key")); // nil
}

Как видите, очень похоже на shared_preferences для Флаттера.

Надеюсь, это поможет.

...