Sera Lima :
I have read the question on how get value with it's child in Firebase.
Now I want to convert that value into a Java object. Can I do that? If can, how I can achieve that?
Alex Mamo :
Now I want to convert that value into a Java object. Can I do that?
Of course you can! Actually I have answered that question too. So to solve this, first you need to create two POJO (model) classes:
class MailId {
public String email, name;
MailId() {}
}
And
class MailText {
public String subject, title;
MailText() {}
}
To get that data as objects of MailId
and MailText
classes, please use the following code:
DatabaseReference rootRef = FirebaseDatabase.getInstance().getReference();
DatabaseReference newRef = rootRef.child("new");
ValueEventListener valueEventListener = new ValueEventListener() {
@Override
public void onDataChange(DataSnapshot dataSnapshot) {
for(DataSnapshot ds : dataSnapshot.child("mailID").getChildren()) {
MailId mailId = ds.getValue(MailId.class);
Log.d("TAG", mailId.email + " / " + mailId.name);
}
for(DataSnapshot ds : dataSnapshot.child("mailText").getChildren()) {
MailText mailText = ds.getValue(MailText.class);
Log.d("TAG", mailText.subject + " / " + mailText.title);
}
}
@Override
public void onCancelled(DatabaseError databaseError) {
Log.d(TAG, databaseError.getMessage()); //Don't ignore errors!
}
};
newRef.addListenerForSingleValueEvent(valueEventListener);