我用Flutter创建了一个应用程序,其中包含一个ListView,我是使用与Firestore一起使用的StreamBuilder构建的。 该代码编写干净,可以使用,但是一旦我在设备上运行该应用程序,它就会告诉我“ [该应用程序]已结束。”
Android Studio并未真正发出错误消息。在我的logcat中,它告诉我“请配置Android SDK”。不幸的是,我不知道如何从这里开始。
我逐步进行了Google服务设置,并且该应用已注册供Firestore使用。
class MyApp extends StatelessWidget {
@override
Widget build(BuildContext context) {
return new MaterialApp(
title: 'Flutter Demo',
theme: new ThemeData(
primarySwatch: Colors.purple,
),
home: new MyHomePage(),
);
}
}
class MyHomePage extends StatefulWidget {
@override
_MyHomePageState createState() => new _MyHomePageState();
}
class _MyHomePageState extends State<MyHomePage> {
// ignore: non_constant_identifier_names
Stream<QuerySnapshot> tours_collection;
@override
void initState() {
super.initState();
tours_collection = Firestore.instance.collection('tours_collection').snapshots();
}
@override
Widget build(BuildContext context) {
return new Scaffold(
appBar: new AppBar(
title: new Text("ToursList"),
),
body: new ToursList(),
);
}
}
class ToursList extends StatelessWidget {
@override
Widget build(BuildContext context) {
return new StreamBuilder(
stream: Firestore.instance.collection('tours_collection').snapshots(),
builder: (BuildContext context, AsyncSnapshot<QuerySnapshot> snapshot) {
if (!snapshot.hasData) return new Text('Loading...');
return new ListView(
children: snapshot.data.documents.map((document) {
return new ListTile(
title: new Text(document['name']),
);
}).toList(),
);
},
);
}
}