【发布时间】:2021-07-23 21:23:42
【问题描述】:
我正在尝试获取要显示在存储在 firebase firestore 中的容器小部件上的图像数组。 url 与索引一起存储在 firestore 和云存储中。下面是完整的代码。我遵循了在线提供的代码,我不确定我错过了什么或哪里出错了。请帮帮我。在此先感谢。
class NewImage extends StatefulWidget{
List<String> urls;
int currentIndex;
VoidCallback onImageTap;
NewImage({Key key,@required this.urls,@required this.currentIndex,@required this.onImageTap})
:super(key:key);
@override
_NewImage createState() => _NewImage();
}
class _NewImage extends State<NewImage>
with SingleTickerProviderStateMixin{
List<String> images = [];
final auth = FirebaseAuth.instance;
final FirebaseFirestore fb = FirebaseFirestore.instance;
@override
void initState() {
super.initState();
getImages();
}
@override
Widget build(BuildContext context) {
return Scaffold(
body: Container(
child: SafeArea(
child: Column(
children: [
Container(
height: 160.0,
padding: EdgeInsets.symmetric(vertical: 15.0,horizontal: 15.0),
child: FutureBuilder(
future: getImages(),
builder: (context, AsyncSnapshot<QuerySnapshot> snapshot) {
if (snapshot.connectionState == ConnectionState.done) {
return ListView.builder(
scrollDirection: Axis.horizontal,
shrinkWrap: true,
itemCount: snapshot.data.docs.length,
itemBuilder: (BuildContext context, int index) {
return ListTile(
contentPadding: EdgeInsets.all(8.0),
leading: Image.network(
snapshot.data.docs[index].data()["images"],
fit: BoxFit.fill),
);
});
} else if (snapshot.connectionState == ConnectionState.none) {
return Text("No data");
}
return CircularProgressIndicator();
},
),
),
],
),
),
),
);
}
Future<QuerySnapshot> getImages() async {
return FirebaseFirestore.instance.collection("users").doc(
auth.currentUser.uid).collection("images").get();
}
}
【问题讨论】:
-
您的 Firebase 结构是什么样的?您是否有存储图像的链接数组,或者“存储在 firebase firestore”中是什么意思?
-
是的,它们是具有索引值的链接数组,例如 0 然后是它的 url,1 然后是它的 url 等等,在“图像”集合下
-
现在收到此错误:W/DynamiteModule(20853): 找不到 providerinstaller 的本地模块描述符类。考虑本地模块 providerinstaller:0 和远程模块 providerinstaller:0 W/ProviderInstaller(20853): 失败加载 providerinstaller 模块:未找到可接受的模块。本地版本为0,远程版本为0。访问隐藏方法Ldalvik/system/CloseGuard;->get()Ldalvik/system/CloseGuard; (灰名单、核心平台 API、链接、允许)
-
请检查我已上传图片。
标签: firebase flutter google-cloud-firestore