get user data from uid in firebase database flutter

1,324

You should call Firestore method get() to fetch data, then read the returned document from the callback.

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

Please find references here

Share:
1,324
Ewa Saputra
Author by

Ewa Saputra

Updated on December 25, 2022

Comments

  • Ewa Saputra
    Ewa Saputra over 1 year

    Can you help me? I've only been learning Flutter for a few months and I want to get user data from Firebase and display the user profile. But it doesn't work, this is my code:

    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');
      }
    

    And this code for user profiles:

    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)))
                                ],
                              )
    

    And I get output like this instance of 'Database Reference'

    This is my user data in firebase:

    enter image description here

    And I got output like this:

    enter image description here