将带有子级的值转换为Firebase Android中的Java对象 [英] Convert value with child into Java Object in Firebase Android
本文介绍了将带有子级的值转换为Firebase Android中的Java对象的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我已阅读问题关于如何在Firebase中获得价值.
I have read the question on how get value with it's child in Firebase.
现在,我想将该值转换为Java对象.我可以那样做吗?如果可以的话,我该如何实现?
Now I want to convert that value into a Java object. Can I do that? If can, how I can achieve that?
推荐答案
现在,我想将该值转换为Java对象.我可以这样做吗?
Now I want to convert that value into a Java object. Can I do that?
当然可以!其实我也回答了这个问题.因此,要解决此问题,首先需要创建两个POJO(模型)类:
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() {}
}
还有
class MailText {
public String subject, title;
MailText() {}
}
要将数据作为MailId
和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);
这篇关于将带有子级的值转换为Firebase Android中的Java对象的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文