带有ListView的应用程序将无法启动。没有显示错误

时间:2019-07-09 23:12:03

标签: flutter google-cloud-firestore

我用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(),
        );
      },
    );
  }
}

0 个答案:

没有答案