在 Firebase 中设置 Firestore 数据库并使用 Flutter 执行 CRUD 操作(8)

作者 : 慕源网 本文共1830个字,预计阅读时间需要5分钟 发布时间: 2021-11-13 共274人阅读

在 Firebase 中设置 Firestore 数据库并使用 Flutter 执行 CRUD 操作(8)

介绍

在本文中,我们将了解 Firebase 中的 Firestore 设置并在 Flutter 中集成 Firestore 数据库。我们将在 Firestore 中使用 Flutter 执行 CRUD 操作。

Firebase 是一个谷歌云平台,提供身份验证、实时数据库(NoSQL 数据库)、存储(图像、音频、视频等)、托管、云功能、分析等云服务。我们已经在我的文章中讨论了身份验证其他文章。如果你还没有读过,你可以在这里查看

现在,我们将了解 Flutter 中的 Firestore 实现。

必备条件(Firebase 项目设置)

  1. 要设置 Firebase 项目,请查看我的另一篇文章并按照前两个步骤操作。请注意,您只需执行前 2 个步骤。
  2. 现在,在 Firebase 项目中,转到数据库选项卡并添加一个新的 Firestore 数据库并选择区域来创建它。
  3. 您需要添加一个根集合。通过单击“开始收藏”,您可以添加它。单击“开始收藏”并为学生提供收藏 ID。

您已经完成了 Firebase 项目的设置。

Flutter 中的 CRUD 操作

打开项目中的 pubspec.yaml 文件并将以下依赖项添加到其中。

dependencies:  
flutter:  
sdk: flutter  
cupertino_icons: ^0.1.2  
cloud_firestore: ^0.12.7  

保存文件并 在终端上运行flutter pub get命令。

我们将采取一些我们需要了解的重要主题。下载本文随附的完整源代码。以下是这些主题——

转到 main.dart 并导入,

import 'package:cloud_firestore/cloud_firestore.dart';  
初始化 Firebase 实例。
final db = Firestore.instance;  
在学生集合中添加新学生(我们在 Firestore 中创建)。
Future < void > addStudent() async {  
    await db.collection("students").add({  
        'name': _studentName,  
        'age': int.parse(_studentAge),  
    }).then((documentReference) {  
        print(documentReference.documentID);  
        clearForm();  
    }).catchError((e) {  
        print(e);  
    });  
}  
修改学生信息
Future < void > editStudent() async {  
    await db.collection("students").document(docIdToUpdate).updateData({  
        'name': _studentName,  
        'age': int.parse(_studentAge),  
    }).then((documentReference) {  
        clearForm();  
    }).catchError((e) {  
        print(e);  
    });  
} 
删除学生
Future<void> deleteStudent(DocumentSnapshot doc) async {  
   db.collection("students").document(doc.documentID).delete();  
   clearForm();  
}  
使用 Stream Builder 列出学生。Stream Builder 提供了一种以您想要的任何格式生成流数据的方法。您可以制作列表、网格、卡片列表。Stream Builder 对流中的任何更新都有一个事件侦听器,它会自动更新客户端。
StreamBuilder < QuerySnapshot > (stream: db.collection("students").snapshots(), builder: (BuildContext context, AsyncSnapshot < QuerySnapshot > snapshot) {  
    if (!snapshot.hasData) return new Text("There is no expense");  
    return Expanded(child: new ListView(children: generateStudentList(snapshot), ), );  
}, ), 

这是在 Firestore 中执行基本 CRUD 操作的方式。

请下载附带的源代码并运行它并进行调整,以便您更好地了解它的工作原理。

结论

在本文中,我们学习了如何在 Firebase 中设置 Firestore 数据库并使用 Flutter 执行 CRUD 操作。


慕源网 » 在 Firebase 中设置 Firestore 数据库并使用 Flutter 执行 CRUD 操作(8)

常见问题FAQ

程序仅供学习研究,请勿用于非法用途,不得违反国家法律,否则后果自负,一切法律责任与本站无关。
请仔细阅读以上条款再购买,拍下即代表同意条款并遵守约定,谢谢大家支持理解!

发表评论

开通VIP 享更多特权,建议使用QQ登录