📅  最后修改于: 2023-12-03 15:21:52.435000             🧑  作者: Mango
在Flutter撰写应用程序时,常常需要从Cloud Firestore中获取数据。在获取数据过程中,需要将Future实例与DocumentSnapshot结合使用。本文将介绍如何在Flutter应用程序中获取Cloud Firestore中的数据。
在Flutter中使用Cloud Firestore,需要安装Cloud Firestore库。你可以在pubspec.yaml文件中添加以下行:
dependencies:
cloud_firestore:
在使用Firestore之前,你需要先进行初始化。在Flutter中,你可以在应用程序的入口文件中执行以下初始化代码:
import 'package:cloud_firestore/cloud_firestore.dart';
void main() {
WidgetsFlutterBinding.ensureInitialized();
FirebaseFirestore.instance.settings = Settings(
persistenceEnabled: true,
cacheSizeBytes: Settings.CACHE_SIZE_UNLIMITED,
);
runApp(MyApp());
}
在使用Firestore中,你可以使用 collection
和 document
引用来获取数据。在以下代码中,我们将从“users”集合中的“john_doe”文档中获取数据:
CollectionReference users = FirebaseFirestore.instance.collection('users');
DocumentSnapshot document = await users.doc('john_doe').get();
Map<String, dynamic> data = document.data();
String firstName = data.containsKey('firstName') ? data['firstName'] : '';
在上面代码中,我们首先使用FirebaseFirestore实例创建了一个名为“users”的集合引用。然后,我们从“john_doe”文档中获取了数据。最后,我们通过调用 data()
方法获取了该文档的内容。
注意,我们将以下调用包装在 async/await
块中以获取Future结果。这保证了我们在读取集合时阻塞应用程序的执行。
在Flutter中获取Cloud Firestore中的数据需要使用Future实例和 DocumentSnapshot。通过这篇文章,读者已经了解到如何初始化Firestore,如何从集合中获取DocumentSnapshot引用,以及如何将数据放入Map中。希望这篇文章对Flutter开发者来说是有益的。