Skip to content Skip to sidebar Skip to footer

How To Get Value Of Child Of Childs From Firebase In Java

From this I want take the value of email from mailID and subject, title from mailText.i'm able to access the value of single child but when it show null with when try get with all

Solution 1:

Assuming that the new node is a direct child of your Firebase root, to achieve what you have explained in your comments, please use the following lines of code:

DatabaseReference rootRef = FirebaseDatabase.getInstance().getReference();
DatabaseReference newRef = rootRef.child("new");
ValueEventListener valueEventListener = newValueEventListener() {
    @OverridepublicvoidonDataChange(DataSnapshot dataSnapshot) {
        for(DataSnapshot ds : dataSnapshot.child("mailID").getChildren()) {
            String email = ds.child("email").getValue(String.class);
            String name = ds.child("name").getValue(String.class);
            Log.d("TAG", email + " / " + name);
        }
        for(DataSnapshot ds : dataSnapshot.child("mailText").getChildren()) {
            String title = ds.child("title").getValue(String.class);
            String subject = ds.child("subject").getValue(String.class);
            Log.d("TAG", title + " / " + subject);
        }
    }

    @OverridepublicvoidonCancelled(DatabaseError databaseError) {}
};
newRef.addListenerForSingleValueEvent(valueEventListener);

As you see, you need to attach a listener one step higher in your tree hierarchy and to loop throught the children using getChildren() method twice.

Solution 2:

You need to change the database structure(there is no join in firebase), to be able to query and get the required data:

newmailIdemail:userx@gmail.comname:userxtitle:testtitleBody:testbody

Then you will be able to retrieve the required data for the user.

You can also use Queries to be able to get the related data, example:

DatabaseReference ref=FirebaseDatabase.getInstance().getReference().child("new");
ref.orderByChild("email").equalTo("userx@gmail.com");

Post a Comment for "How To Get Value Of Child Of Childs From Firebase In Java"