LocalStorage не сохраняет данные после закрытия приложения flutter - PullRequest
0 голосов
/ 16 июня 2020
• 1000 когда мы пытаемся получить доступ к тем же данным, он дает Null. Я прикрепляю сюда свой образец кода, как я это делаю. Проблема с его работоспособностью только в том, что он не сохраняет данные после перезапуска приложения.
void saveData() async{

    final LocalStorage storage = new LocalStorage('brick-game');

    await storage.setItem('data', _data);  

}


@override
  Widget build(BuildContext context){

        final LocalStorage storage = new LocalStorage('brick-game');

        final data  = storage.getItem('data');

};


Пожалуйста, дайте мне знать, что я делаю не так или что-то, что мне не хватает. Ваша помощь будет оценена по достоинству. Спасибо

1 Ответ

0 голосов
/ 16 июня 2020

локальное хранилище имеет метод ready, это означает, что требуется время, чтобы получить доступ к хранилищу

ваш метод сохранения - async, и вы устанавливаете элементы с ключевым словом await, но когда вы запускаете приложение снова вы получаете предметы без await ключевого слова

попробуйте сделать способ получения предметов

getItems() async {
   final LocalStorage storage = new LocalStorage('brick-game');

   final data  = await storage.getItem('data');
   print(data);
}



@override
  Widget build(BuildContext context){

     getItems().then((_){
        print(data);
     });

};
...