flutter - sqflite 首次打开时不提取数据
问题描述
我添加新数据,然后重新打开应用程序,但不显示我上次添加的数据。但如果点击输入我的数据来了。如何解决这个问题。我的代码:https ://github.com/basriyildiz/yildiz/blob/master/lib/screens/maliyet_hesaplama.dart
如果你想检查我的 db_helper:https ://github.com/basriyildiz/yildiz/blob/master/lib/utils/db_helper.dart
非常感谢你,对不起我的英语。
解决方案
我认为问题出在这里。
_databaseHelper.tumMaliyetler().then((tumAnalizleriTutanMapListesi) {
for (Map<String, dynamic> okunanAnalizMapi
in tumAnalizleriTutanMapListesi) {
maliyetListesi
.add(Maliyet.dbdenOkudugunMapiObjeyeDonustur(okunanAnalizMapi));
}
debugPrint("adas");
debugPrint(malzemeAdi.text.toString());
});
你在这里解决了一个未来,这意味着这个代码将在未来“某个时候”执行。
我会尝试这里显示的解决方案:https ://stackoverflow.com/a/51901192/9479695
@override
void initState() {
super.initState();
asyncMethod();
}
void asyncMethod() async {
final tumAnalizleriTutanMapListesi = await _databaseHelper.tumMaliyetler();
// ... fill maliyetListesi here
}
我还建议在这里https://dart.dev/codelabs/async-await阅读有关 dart 中的 async / await 的信息
还有关于如何在 Flutter 中与 StreamBuilder 一起使用它们https://api.flutter.dev/flutter/widgets/StreamBuilder-class.html和 FutureBuilder 这里https://api.flutter.dev/flutter/widgets/FutureBuilder-类.html
推荐阅读
- r - 基于R中多个月和年的条件的子集数据框?
- machine-learning - 训练模型时如何使用 GPU?
- json - Bash case 语句不适用于使用 jq 的 json 字符串值
- python - 如何将查询从 bash 转换为 python?
- android - 我想在下一个活动中显示用户在注册时输入的电话号码
- java - Junit测试期望值
- django - 本地 -> Github 工作 | 本地-> Heroku 不工作
- javascript - 更新 Javascript 中的按钮
- python - 元素树无法访问没有命名空间的元素
- javascript - 使用 jquery.inline-edit.js 对 Textarea 进行内联编辑 - 获取 id 并保存