Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/firebase/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/opencv/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
从Flotter(dart)中的Cloud FireStore Firebase获取数据_Firebase_Flutter_Dart_Google Cloud Firestore - Fatal编程技术网

从Flotter(dart)中的Cloud FireStore Firebase获取数据

从Flotter(dart)中的Cloud FireStore Firebase获取数据,firebase,flutter,dart,google-cloud-firestore,Firebase,Flutter,Dart,Google Cloud Firestore,这是我的Fire Base云存储结构,文件中存储的数据为地图 如果我想将用户名提取到相应的uid,那么查询是什么 另外,我希望将用户名返回到文本小部件 所用语言:Dart String getUserName (User user) { String username; /* Query */ return username; } class username extends Sta

这是我的Fire Base云存储结构,文件中存储的数据为地图

如果我想将用户名提取到相应的uid,那么查询是什么

另外,我希望将用户名返回到文本小部件

所用语言:Dart

    String getUserName (User user) {
        String username;
        
        /*   Query  */
        
        return username;
      }

class username extends StatelessWidget {
  @override
  Widget build(BuildContext context) {
    return Text("USER NAME : " + getUserName());
  }
}

请帮忙

您可以使用FlatterFire包从Firestore读取数据

看看他们的例子,你只需要做一些调整:

    class GetUserName extends StatelessWidget {
  final String documentId; // This is your User UID

  GetUserName(this.documentId);

  @override
  Widget build(BuildContext context) {
    CollectionReference users = FirebaseFirestore.instance.collection('users');

    return FutureBuilder<DocumentSnapshot>(
      future: users.doc(documentId).get(),
      builder:
          (BuildContext context, AsyncSnapshot<DocumentSnapshot> snapshot) {

        if (snapshot.hasError) {
          return Text("Something went wrong");
        }

        if (snapshot.connectionState == ConnectionState.done) {
          Map<String, dynamic> data = snapshot.data.data();
          return Text("USER NAME: ${data['name']}");
        }

        return Text("loading");
      },
    );
  }
}
class GetUserName扩展了无状态小部件{
最后一个字符串documentId;//这是您的用户UID
GetUserName(this.documentId);
@凌驾
小部件构建(构建上下文){
CollectionReference users=FirebaseFirestore.instance.collection('users');
回归未来建设者(
future:users.doc(documentId).get(),
建设者:
(BuildContext上下文,异步快照){
if(snapshot.hasError){
返回文本(“出错”);
}
if(snapshot.connectionState==connectionState.done){
映射数据=snapshot.data.data();
返回文本(“用户名:${data['NAME']}”);
}
返回文本(“加载”);
},
);
}
}

非常感谢@dkap这对我很有效