[英]Firebase database Android - mapping datasnapshot child with different structure to java object
[英]Convert value with child into Java Object in Firebase Android
現在,我想將該值轉換為Java對象。 我可以那樣做嗎?
當然可以! 其實我也回答了這個問題。 因此,要解決此問題,首先需要創建兩個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);
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.