【发布时间】:2020-08-19 10:16:20
【问题描述】:
我正在尝试从我的 firebase 数据库中打印属性列表。数据库目前的结构如下:
我首先想将节目名称列表打印到控制台,以便我可以看到它可以工作,然后稍后将其添加到 ListView。任何帮助表示赞赏!
import 'package:firebase_database/firebase_database.dart';
import 'package:flutter/material.dart';
import 'package:provider/provider.dart';
// This is the model class
class Mod {
final String name;
final String nextEpisode;
final String prevEpisode;
Mod(this.name, this.nextEpisode, this.prevEpisode);
Mod.fromJson(Map<String, dynamic> json)
: name = json['name'],
nextEpisode = json['nextEpisode'],
prevEpisode = json['prevEpisode'];
}
// This is the screen class
class FTest2 extends StatefulWidget {
@override
_FTest2State createState() => _FTest2State();
}
class _FTest2State extends State<FTest2> {
List<Mod> list = List();
MakeCall() {
final mainReference = FirebaseDatabase.instance.reference();
mainReference.child('-M5Uol7Xldnc8wvNXnNg').once().then((DataSnapshot dataSnapshot){
this.setState(() {
for(var value in dataSnapshot.value){
list.add(Mod.fromJson(value));
}
});
});
print(list);
}
void getData() {
MakeCall();
}
@override
Widget build(BuildContext context) {
return Scaffold(
appBar: AppBar(title: Text('This is App Bar for the FB Test')),
body: Column(
children: <Widget>[
RaisedButton(
child: Text('Press for data'),
onPressed: () {
getData();
},
),
],
));
}
}
【问题讨论】:
-
你分享的代码有什么问题?
-
首先,我在数据库中缺少对“显示”的引用。修复后,我将返回一个空列表。理想情况下,我想返回所有不同节目名称的列表。有什么想法吗?
标签: firebase flutter dart firebase-realtime-database