【发布时间】:2020-12-09 16:08:41
【问题描述】:
我正在开发一个物流仓库项目。 我的想法是,我使用 Cloud Firestore 在货架上存储托盘,然后我可以在系统中找到它。
我可以在应用程序中看到我的托盘,而且效果很好。 Cloud Firestore 每天的读取量为 50.000 次。 如果我启动应用程序,它会计算列表中的文档数量,我可以在使用选项卡中看到它。 没关系,但即使我在应用程序中什么都不做,这个数字也会增加。
有没有办法只在flutter页面打开时才读取数据?
import 'package:cloud_firestore/cloud_firestore.dart';
import 'package:flutter/material.dart';
class overzicht extends StatefulWidget {
@override
_overzichtState createState() => _overzichtState();
}
class _overzichtState extends State<overzicht> {
Future _data;
Future getPosts() async{
var firestore = Firestore.instance;
QuerySnapshot qn = await firestore.collection("locaties").getDocuments();
return qn.documents;
}
@override
void initState() {
super.initState();
_data = getPosts();
}
@override
Widget build(BuildContext context) {
return Scaffold(
appBar: AppBar(title: Center(child: Text('Overzicht')),backgroundColor: Color.fromRGBO(17, 32, 42, 1),),
body: Container(
child: FutureBuilder(
future: _data,
builder: (_, snapshot) {
if(snapshot.connectionState == ConnectionState.waiting){
return Center(
child: Text('Loading...'),
);
} else{
return ListView.builder(
itemCount: snapshot.data.length,
itemBuilder: (_, index){
return ListTile(
title: Text(snapshot.data[index].data["location"]),
);
});
}
}),
),
);
}
}
【问题讨论】:
-
当然,您可以选择何时运行查询。我不太清楚你在哪里被困住了。
标签: database firebase flutter dart google-cloud-firestore