最佳答案
Now I want to convert that value into a Java object. Can I do that?
当然可以!其实这个问题我也回答过。因此,要解决这个问题,首先需要创建两个 POJO(模型)类:
class MailId {
public String email, name;
MailId() {}
}
还有
class MailText {
public String subject, title;
MailText() {}
}
要获取该数据作为 MailId
和 MailText
类的对象,请使用以下代码:
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);
关于java - 在 Firebase Android 中将子值转换为 Java 对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57509024/