我正在尝试从Firestore中获取一些数据,但并没有按照我的方式进行... 我有一个包含“名称,日期和对象”的列表。 在Firestore中,它具有“对象的名称,日期和列表”之类的名称。 该对象在Firestore中具有结构映射的“名称,日期,名称”。日期和名称是字符串。如何获取它,我尝试将其设置为带有地图的地图和带有地图的列表,但没有成功。
如何在android studio中获取或构建它? 预先感谢。
答案 0 :(得分:0)
查找Streams和Blocs这样的东西是个好主意。而且我可以进一步帮助您指导一些代码。
但是下面的想法是,我们将有一些FutureBuilder,它将使用fetchItems()作为未来。在我的FirebaseDB中,有一个Stores文档。我遍历文档的项目列表,并为每个元素创建一个项目。 Item具有使用FirebaseDB映射的工厂初始化程序。
class Item {
String name;
Timestamp date;
bool isSomething;
Item({this.name, this.description, this.price, this.quantity});
factory Item.fromJSON(Map<dynamic, dynamic> item) {
return Item(name: item["name"], date: item["date"], isSomething: item["isSomething"]);
}
}
Future<List<Item>> fetchItems() async {
return Firestore.instance.document("Stores").snapshots().map((snapshot) {
var name = snapshot.data["name"];
var itemInfo = snapshot.data["items"] as List;
return itemInfo.map((item) {
return Item.fromJSON(item);
}).toList();
}).single;
}