我一直在阅读与 StackOverflow 相关的帖子。但是,我还没有找到一个简单的解决方案,对于像我这样的初学者来说很容易理解。目前,我的 Cloud Firestore 数据库如下所示:
在用户输入足够的信息来填充文档中的每个字段后(ID 是通过电话身份验证的经过身份验证的用户的 UID),然后它会被发送到数据库中。之后,用户将被重定向到主屏幕,其中应显示每个字段。这就是我被困的地方。下面是我开始实施的一个方法,它将返回一个字符串,该字符串将位于文本小部件内,以显示在数据库中找到的用户名。
String getUsername(FirebaseUser user, Firestore firestore) {
//get the document reference
DocumentReference docReference = firestore.document("Users/" + user.uid);
Future<DocumentSnapshot> snapshot = docReference.get();
Stream<DocumentSnapshot> stream = snapshot.asStream();
//stub to ignore compiler warnings
return null;
}
Run Code Online (Sandbox Code Playgroud)
如您所见,在使用 Futures 和 Streams 时,我相当迷茫。我在 youtube 上观看了 google flutter 开发人员的视频,他们帮助我做到了这一点。我还尝试使用 Future 对象提供的 then() 和 whenCompleted() 方法,但是我发现自己挖了一个越来越大的洞。
非常感谢所有帮助!