扑动,Hive不显示数据一旦应用程序启动,即使它有数据



一旦我按下+按钮,我想将Text:值添加到屏幕并永久保存。但它是保存所有的值文本,但一旦我重新启动应用程序,它不显示它。请HELPP !

import 'package:flutter/material.dart';
import 'package:hive_flutter/hive_flutter.dart';
void main() async {
await Hive.initFlutter();
await Hive.openBox('mytasks');
runApp(MaterialApp(
debugShowCheckedModeBanner: false,
theme: ThemeData(brightness: Brightness.dark),
home: MyApp(),
));
}
class MyApp extends StatefulWidget {
const MyApp({Key? key}) : super(key: key);
@override
createState() => _MyAppState();
}
class _MyAppState extends State {

所有的数据应该保存在这个任务

var tasks = [];
final Box box = Hive.box('mytasks');
@override
void initState() {
// TODO: implement initState
super.initState();
Hive.box('mytasks');
//ONCE APP INITIALIZED IT WILL PRINT THE VALUE TO THE TERMINAL
print(box.get('task'));
}

这里它获取数据

void addData() async {
await box.put('task', tasks);
box.values.toList();
print(box.get('task'));
}
@override
Widget build(BuildContext context) {
return Scaffold(
appBar: AppBar(
centerTitle: true,
title: Text('To do app'),
),
body: ListView.builder(
itemCount: tasks.length,
itemBuilder: (BuildContext context, int index) {
return ListTile(title: Text('${tasks[index]}'));
},
),
floatingActionButton: FloatingActionButton(
child: Icon(Icons.add),
onPressed: () {
setState(() {
tasks.add('value');
});
return addData();
},
),
);
}

如果要在Hive Box中添加列表,可以使用.addAll()方法添加列表,然后使用.values.toList()方法获取列表。如果这不起作用,请重新使用Hive.initFlutter()方法。

void addData() async {
await box.addAll(tasks);
print(box.values.toList().toString());
}

相关内容

  • 没有找到相关文章

最新更新