【问题标题】:Firebase Database Reference To Retrieve Children检索子级的 Firebase 数据库参考
【发布时间】:2018-04-22 02:55:19
【问题描述】:

我有一个包含以下内容的 firebase 数据库:

  1. 事件
  2. 创作者 ID (Firebaseauth id)
  3. 事件名称
  4. 名称位置日期时间等事件属性...

这是我的数据库示例:

我想要的是检索数据库中每个事件的属性,而不考虑 UID,但由于许多其他原因我无法摆脱 UID。

我使用以下代码检索:

ref = database.getReference("Event/");
        ref.addChildEventListener(new ChildEventListener() {
            @Override
            public void onChildAdded(DataSnapshot dataSnapshot, String s) {
                Event event = new Event();
                event = dataSnapshot.getValue(Event.class);
                events.add(event);
                myRecyclerView.setAdapter(adapter);
            }

其中 Event 是一个自定义类,包含事件的属性、getter/setter 和构造函数。 Ref 是数据库引用。 但是返回的事件对象是空的。

我正在使用安卓。

【问题讨论】:

    标签: java android firebase firebase-realtime-database


    【解决方案1】:

    你仍然需要一个级别才能达到一个单一的事件:

    public void onChildAdded(DataSnapshot dataSnapshot, String s) {
                 for(DataSnapshot snapshot: dataSnapshot.getChildren()){
                    Event event = new Event();
                    event = snapshot.getValue(Event.class);
                    events.add(event);
                    myRecyclerView.setAdapter(adapter);
              }
                }
    

    还要确保您的 Event 类具有公共 getter 和 setter,以便可以对其进行反序列化。

    【讨论】:

      【解决方案2】:

      看来您的检索方式有误,试试这个:

      String EVENT_ID = "YOUR EVENT ID HERE"
      ref = database.getReference("Event")
            .child(EVENT_ID)
            .addChildEventListener(new ChildEventListener() {
                  @Override
                  public void onChildAdded(DataSnapshot dataSnapshot, String s) {
                      Event event = new Event();
                      event = dataSnapshot.getValue(Event.class);
                      events.add(event);
                      myRecyclerView.setAdapter(adapter);
                  }
      

      OBS:将事件 ID 放入 EVENT_ID。它会起作用的。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2020-06-20
        • 1970-01-01
        • 2017-02-10
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2018-10-13
        • 1970-01-01
        相关资源
        最近更新 更多