HK_92
HK_92

Reputation: 81

Get the parent node of a node (Firebase)

i'm a beginner in android application, could anyone help me and show me how could i retrieve the generated id value node of the current user Id ? please find below my code. Thanks

enter image description here

FirebaseAuth firebaseAuth = FirebaseAuth.getInstance();
FirebaseDatabase mDatabase = FirebaseDatabase.getInstance();
DatabaseReference mDb = mDatabase.getReference();
FirebaseUser user = firebaseAuth.getCurrentUser();
final String userKey = user.getUid();

    mDb.child("students").child(currentuser).getRef().addValueEventListener(new ValueEventListener() {
    @Override
    public void onDataChange(DataSnapshot dataSnapshot) {
        String reference = dataSnapshot.getRef().toString();
        String userID = dataSnapshot.child("level").getValue(String.class);
        textViewStudentName.setText(reference);
    }
    @Override
    public void onCancelled(DatabaseError databaseError) {
    }
});

Upvotes: 2

Views: 51

Answers (1)

Md. Asaduzzaman
Md. Asaduzzaman

Reputation: 15423

Try below to get level:

DatabaseReference fireReference = FirebaseDatabase.getInstance().getReference("students");

fireReference.addListenerForSingleValueEvent(new ValueEventListener() {
    @Override
    public void onDataChange(@NonNull DataSnapshot dataSnapshot) {

        for(DataSnapshot childSnapshot: dataSnapshot.getChildren()) {
            if(childSnapshot.hasChild(userKey)) {

                String userID = childSnapshot.child(userKey).child("level").getValue(String.class);

                break;
            }
        }
    }

    @Override
    public void onCancelled(@NonNull DatabaseError databaseError) {

    }
});

Upvotes: 4

Related Questions