firebase - 如何从 firebase 获取图像/文件列表?
问题描述
您好,我正在尝试从 Firebase 存储桶/存储中获取图像列表,但是当我调用 runApp() 时,我不断收到错误代码。以下是与我的问题相对应的代码和错误消息。任何帮助我都会非常感激。我已经尝试按照错误消息的建议进行操作,但最终还是遇到了问题。
import 'package:authorize_user/Screens/image_screen.dart';
import 'package:firebase_core/firebase_core.dart';
import 'package:flutter/material.dart';
void main() {
Firebase.initializeApp();
runApp(MyApp());
}
class MyApp extends StatelessWidget {
@override
Widget build(BuildContext context) {
return MaterialApp(
title: 'Flutter Images',
theme: ThemeData(
primarySwatch: Colors.blue,
visualDensity: VisualDensity.adaptivePlatformDensity,
),
home: ImageScreen(),
);
}
}
class ImageScreen extends StatelessWidget {
Stream<QuerySnapshot> getDocuments() {
return FirebaseFirestore.instance
.collection('Accounts/ZqEbRkLFbW34CXKybmr7/images')
.snapshots();
}
@override
Widget build(BuildContext context) {
return Scaffold(
body: StreamBuilder<QuerySnapshot>(
stream: getDocuments(),
builder: (context, streamSnapshots) {
if (streamSnapshots.connectionState == ConnectionState.waiting) {
return Center(child: CircularProgressIndicator());
}
final documents = streamSnapshots.data.docs;
return ListView.builder(
itemCount: streamSnapshots.data.docs.length,
itemBuilder: (context, index) => Container(
padding: EdgeInsets.all(8),
child: Text(documents[index].data().length.toString()),
),
);
},
),
floatingActionButton:
FloatingActionButton(child:Icon(Icons.add), onPressed: () {}),
);
}
}
错误信息:
发生异常。FlutterError (ServicesBinding.defaultBinaryMessenger 在绑定初始化之前被访问。如果您正在运行应用程序并且需要在
runApp()
调用之前访问二进制信使(例如,在插件初始化期间),那么您需要显式调用第WidgetsFlutterBinding.ensureInitialized()
一个。如果您正在运行测试,您可以TestWidgetsFlutterBinding.ensureInitialized()
在测试方法的第一行调用main()
来初始化绑定。)
解决方案
尝试这个
void main() {
WidgetsFlutterBinding.ensureInitialized();
runApp(MyApp());
}
参考:https ://github.com/TheAlphamerc/flutter_twitter_clone/blob/master/lib/main.dart
推荐阅读
- java - 我可以让这个 switch 语句更小吗?最好带有for循环
- python - 从具有多个 csv 文件的数据框中绘制图形
- c++ - 错误:从 'const char' 转换为非标量类型 'std::string' {aka 'std::__cxx11::basic_string
'} 请求 - c# - 识别画布中的相邻形状
- python - '550 系统找不到指定的文件' 使用方法 request.urlopen 获取 FTP 上的文件
- php - 使用 nuxtjs 登录 laravel sanctum 后出现 401(未验证)错误
- swift - self.presentationMode.wrappedValue.dismiss() 在 SwiftUI 中不起作用
- text-extraction - 使用PyPDF2抓取PDF,数据不按顺序抓取!这是这个库的限制吗?
- azure - 使用自定义 ui 使用 Azure 托管应用程序创建 azure 管理组时出错
- java - spring端点SOAP请求有效负载子元素在嵌套命名空间时在XSD中解析为pojo时获取空值