将带有子级的值转换为Firebase Android中的Java对象 [英] Convert value with child into Java Object in Firebase Android

查看:30
本文介绍了将带有子级的值转换为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() {}
}

要将数据作为MailIdMailText类的对象获取,请使用以下代码:

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屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆