首页 > 解决方案 > 在单值事件侦听器上检索 Firebase 实时数据库中的子元素?

问题描述

我的 Firebase 数据结构在此处输入图像描述

我试过:

    DatabaseReference reference = FirebaseDatabase.getInstance().getReference().child("test1");
    reference.addListenerForSingleValueEvent(new ValueEventListener() {
        @Override
        public void onDataChange(DataSnapshot dataSnapshot) {
            String name = dataSnapshot.getValue(String.class);
            Log.d("TAG", name);
        }

        @Override
        public void onCancelled(DatabaseError databaseError) {}
    });

但它不起作用。

标签: javaandroidfirebasefirebase-realtime-database

解决方案


首先创建一个类:

public class MyClass {
    private String name;

    public MyClass() {
        // Default constructor required for calls to DataSnapshot.getValue(MyClass.class)
    }

    public String getName() {
         return name;
    }
}

然后按如下方式更新您的代码:

String myInstance = dataSnapshot.getValue(MyClass.class);
String name = myInstance.getName();

推荐阅读