从Firebase读取某些数据时遇到问题。它给了我上述错误。我检查了图标链接上是否有图像,它变得非常有趣,因为它只能读取车辆数据库中的第一辆汽车。以下是我的汽车类以及数据库API。 Brands.dart
import 'package:flutter/material.dart';
import 'package:gerente_loja/core/services/api.dart';
class BrandsScreens extends StatelessWidget {
@override
Widget build(BuildContext context) {
return Scaffold(
body: Center(
child: FutureBuilder(
future: Api('vehicle').getDataColletions(),
builder: (context, snapshot){
if (!snapshot.hasData){
return Container(
alignment: Alignment.center,
child: CircularProgressIndicator(
valueColor: AlwaysStoppedAnimation<Color>(
Colors.green),
),
);
}
else {
return ListView.builder(
itemCount: snapshot.data.documents.length,
itemBuilder: (BuildContext context, int index){
return Container(
child: InkWell(
child: Card(
child: ListTile(
leading: AspectRatio(
aspectRatio: 0.8,
child: Image.network(
snapshot.data.documents[index]['icon'],
height: 500,
//width: 300,
fit: BoxFit.contain,
)
),
title: Text(snapshot.data.documents[index]['make']),
),
),
),
);
},
);
}
}
),
),
);
}
}
Api.dart
import 'package:cloud_firestore/cloud_firestore.dart';
import 'dart:async';
class Api {
final Firestore _db = Firestore.instance;
final String path;
CollectionReference ref;
Api (this.path){
ref = _db.collection(path);
}
Future<QuerySnapshot> getDataColletions(){
return ref.getDocuments();
}
Stream<QuerySnapshot> streamDataCollection(){
return ref.snapshots();
}
Future<DocumentSnapshot> getDocumentById(String id){
return ref.document(id).get();
}
Future<DocumentSnapshot>removeDocumentById(String id){
ref.document(id).delete();
}
Future<void> updateDocument(Map data, String id){
return ref.document(id).updateData(data);
}
Future<DocumentReference>addDocument(Map data){
return ref.add(data);
}
}
这也是我在屏幕上看到的。 Mobile Phone Output
This is the Structure of my Collection
我可以在查询文档中看到信息。但是,它不会显示在手机上。 Query Document Result
答案 0 :(得分:0)
问题出在我的数据库中,指向其中一个字段的链接出错了。我不得不拜访他们所有人并进行更改。