gpt4 book ai didi

flutter - 关闭 flutter 应用程序后,LocalStorage 不保留数据

转载 作者:行者123 更新时间:2023-12-04 15:25:13 24 4
gpt4 key购买 nike

我是 Flutter 的新手,正在开发需要在 LocalStorage 中存储一些数据的应用程序,我成功地在 LocalStorage 中存储和检索数据,但是当我关闭应用程序并重新打开它时,它会刷新整个数据,并且当我们尝试访问相同的数据时,它给出 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');

};


请让我知道我做错了什么或者我遗漏了什么。您的帮助将不胜感激。谢谢

最佳答案

出于某种原因,您必须等待本地存储为 ready (虽然这应该自动完成)。所以,在调用 getItem() 之前你需要await storage.ready; ,像这样:

Future<DataType> _getData() async {
final LocalStorage storage = new LocalStorage('brick-game');
await storage.ready;
return await storage.getItem('data');
}

然后在你的build你可以使用 FutureBuilder<T>() 的方法构建您的用户界面。

@override
Widget build(BuildContext context) {
return FutureBuilder<DataType>(
future: _getData,
builder: (BuildContext context) {
if (snapshot.hasData) // we read data from storage
else if (snapshot.hasError) // an error occured
else // we are still loading
},
);
}

关于flutter - 关闭 flutter 应用程序后,LocalStorage 不保留数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62401434/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com