android - 从 firebase 数据库 flutter 中的 uid 获取用户数据

标签 android firebase flutter firebase-realtime-database

你能帮帮我吗?刚学Flutter几个月,想从Firebase获取用户数据,展示用户画像。但它不起作用,这是我的代码:

DatabaseReference _ref;

  var email, nama, noTelp;

  @override
  void initState() {
    // TODO: implement initState
    super.initState();



    final User usernya = _auth.currentUser;
    final String uid = usernya.uid;

    _ref = FirebaseDatabase.instance.reference().child('user').child(uid);

    email = _ref.child('email');
    nama = _ref.child('nama');
    noTelp = _ref.child('noTelp');
  }

以及用户配置文件的代码:

Column(
                            crossAxisAlignment: CrossAxisAlignment.start,
                            children: [
                              _ref == null
                                  ? Text(
                                      'Nama Pengguna',
                                      style: TextStyle(
                                          fontSize: 18,
                                          fontWeight: FontWeight.bold,
                                          color: Colors.white),
                                    )
                                  : Text(
                                      nama.toString(),
                                      style: TextStyle(
                                          fontSize: 18,
                                          fontWeight: FontWeight.bold,
                                          color: Colors.white),
                                    ),
                              Text(
                                email.toString(),
                                style: (TextStyle(color: Colors.white)),
                              ),
                              Text(noTelp.toString(),
                                  style: (TextStyle(color: Colors.white)))
                            ],
                          )

我得到这样的输出 'Database Reference' 实例

这是我在 firebase 中的用户数据:

enter image description here

我得到这样的输出:

enter image description here

最佳答案

您应该调用 Firestore 方法 get() 来获取数据,然后从回调中读取返回的文档。

FirebaseDatabase.instance.reference().child('user').child(uid).get().then((docSnapshot) {
    print(docSnapshot.data()["email"]); // print data to test
  });

请查找引用资料 here

关于android - 从 firebase 数据库 flutter 中的 uid 获取用户数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/64550157/

相关文章:

android - 收到消息后,Android 上的 Firebase Messaging 突然开始崩溃

java - 无法加载类 'com.google.gson.JsonObject'

flutter - 如何在 flutter 中使用 cloud_firestore for web 和 android?

ios - flutter 错误 : No profiles for ‘xxx’ were found: Xcode couldn’t find any iOS App Development provisioning profiles matching ‘xxx’

android - FloatingActionButton 在 pre-lollipop 中占用额外的空间

java - 仅在平板电脑上发生 Android 致命异常

java - android 的新手-将 xml 文档编译成二进制格式有什么好处

android - 如何在for循环内同步执行firebase函数?

flutter - Flutter中的LinearGradient?

android - 如何将 android 常量存储在 strings.xml 文件中?