【发布时间】:2023-01-20 03:24:21
【问题描述】:
下午好,
我目前正在学习 Flutter 并将其与 Firebase 一起使用。我创建了一个应用程序,它允许用户通过一个屏幕上的文本输入框向数据库提交三个数据值,然后在列表视图中的应用程序的另一个屏幕上读取或打印它们。写入功能工作正常。我可以输入数据值,它们会写入我创建的 Firebase 数据库。但是,当我对列表视图屏幕进行编码以读取数据时,我收到一条错误消息,提示“未为类型‘数据库事件’定义 getter ‘key/value’”。我在第 31、33、36 行得到这个...
print(datasnapshot.key);
print(datasnapshot.value);
datasnapshot.value.forEach
这是相关部分的代码...任何建议将不胜感激。 谢谢,
import 'package:firebase_database/firebase_database.dart';
import 'package:flutter/material.dart';
import 'package:firebase_demo/screens/list_page.dart';
class ListViewReadPage extends StatefulWidget {
ListViewReadPage({super.key, required this.title});
final String title;
@override
State<ListViewReadPage> createState() => _ListViewReadPageState();
}
class _ListViewReadPageState extends State<ListViewReadPage> {
var studentList = [];
_ListViewReadPageState() {
// load all students from firebase database and display them in list view
FirebaseDatabase.instance.ref().child("students").once()
.then((datasnapshot) {
print("Successfully loaded the data");
print(datasnapshot);
print("Key");
print(datasnapshot.key);
print("value");
print(datasnapshot.value);
print("Iterating the value map:");
var studentTmpList = [];
datasnapshot.value.forEach((k, v) {
print(k);
print(v);
studentTmpList.add(v);
});
print("Final student list: ");
print(studentTmpList);
studentList = studentTmpList;
setState(() {
});
}).catchError((error) {
print("Failed to load the data");
print(error);
});
}
我已经确保安装了所有适当的 Firebase 插件并且一切都已初始化。`
【问题讨论】:
标签: flutter firebase dart firebase-realtime-database flutter-dependencies