我无法将数据从 firestore 获取到我的应用程序中

I cannot get the data from the firestore into my application

我是编程新手,当我尝试创建一个小型 TODO 应用程序时,我能够将数据保存到 Cloud firestore 中,但是当我尝试使用 Streambuilder 检索数据时出现了问题。我在 null safety 之前一直在关注旧教程,所以我怀疑问题与 null safety 有关。 该代码在 android 工作室中没有任何错误,但无法检索来自 firestore 的数据。 代码如下:

import 'package:flutter/material.dart';
import 'package:cloud_firestore/cloud_firestore.dart';

class AddTODOlist extends StatelessWidget {
  static String id = 'add_todolist';

  final TextEditingController _controller = TextEditingController();
  void _addUser(){
    FirebaseFirestore.instance.collection("Todos").add({"title" : _controller.text});
    _controller.text = "";
  }

  Widget _buildList(QuerySnapshot? snapshot){
    return ListView.builder(
      itemCount: snapshot!.docs.length,
      itemBuilder: (context, index){
        final doc = snapshot.docs[index];
        final map = (doc.data()as dynamic)['title'];
        return ListTile(
          title: Text(map,style: TextStyle(color: Colors.black),),
        );
      },
    );
  }

  @override
  Widget build(BuildContext context) {
    return Scaffold(
      appBar: AppBar(
        title: Text('Loan System',),
        centerTitle: true,
      ),
      body: SafeArea(
        child: Padding(
          padding: const EdgeInsets.all(8.0),
          child: Column(
            children: [
              Row(
                children: [
                  Expanded(
                    child: TextField(
                      controller: _controller,
                      decoration: InputDecoration(
                        hintText: 'Add new user',
                      ),
                    ),
                  ),
                  TextButton(
                    style: ButtonStyle(
                      backgroundColor: MaterialStateProperty.all<Color>(Colors.blue),
                    ),
                      onPressed:(){
                      _addUser();
                      },
                      child: Text('Add',
                      style: TextStyle(
                        color: Colors.white,
                      ),),
                  ),
                ],
              ),
             StreamBuilder<QuerySnapshot?>(
             stream: FirebaseFirestore.instance.collection('todos').snapshots(),
             builder: (context, snapshot){
               if(!snapshot.hasData) return LinearProgressIndicator();
               else {
                 return Expanded(
                 child: _buildList(snapshot.data),
               );
               }
             }
             ),
            ],
          ),
        ),
      ),
    );
  }
}

您的 collection 姓名拼写有误。请记住,Firestore 区分大小写

Todos 对比 todos

FirebaseFirestore.instance.collection("Todos").add({"title" : _controller.text});

这里:

stream: FirebaseFirestore.instance.collection('todos').snapshots(),

如果这没有帮助,请告诉我