将数据推送到firebase, flutter



我正在尝试使用flutter将数据推送到firebase。我知道如何使用带有集合名称的add函数将数据推送到firebase。

我有使用速度计api的速度,我想每隔5秒将数据推送到firebase。

请帮我发送数据不使用按钮。

您需要编写每5秒运行一次的代码,使用此答案https://stackoverflow.com/a/15298728/8572736以及我能够想出的有状态小部件。

在initstate的statfull小部件中添加这个

void initState() {
future= new Future.delayed(const Duration(seconds: 5));
subscription = future.asStream().listen(PushSpeedToDb());
super.initState();
}

this将保持每5秒调用一次PushSpeedToDB然后在你的pushSpeedToDB

void PushSpeedToDb() async {
//await get speed from speed api
//await add the currentSpeed  the the cloud firestore document
}

在push speed to db中,你可以从api中获取速度,并将其添加到你的cloud firestore文档中。

完整的代码是这样的

class SpeedWidget extends StatefulWidget {
@override
State<StatefulWidget> createState() => SpeedWidgetState();
}
class SpeedWidgetState extends State<SpeedWidget> {
var future;
var subscription;
@override
void initState() {
future= new Future.delayed(const Duration(seconds: 5));
subscription = future.asStream().listen(PushSpeedToDb());
super.initState();
}
void PushSpeedToDb() async {
//await get speed from speed api
//await add the currentSpeed  the the cloud firestore document
}

@override
void dispose() {
super.dispose();
subscription?.cancel();
}

@override
Widget build(BuildContext context) {
// TODO: implement build
throw UnimplementedError();
}

}

相关内容

  • 没有找到相关文章