Firebase数据库奇怪的排序

时间:2018-05-16 05:29:09

标签: java android firebase firebase-realtime-database

我使用Firebase数据库制作了这个“聊天系统”。

要检索房间中的消息,我会Query使用orderByChild(timestamp)然后反转订单,这样我就可以获得最新的“最后”(因为我从底部开始阅读)。

    messageList = new ArrayList<>();
    final Query query = chatRef_1.orderByChild("
            query.addChildEventListener(new ChildEventListener() {
                @Override
                public void onChildAdded(DataSnapshot dataSnapshot, String s) {
                    messageList.add(dataSnapshot.getValue(ChatMessage.class));
                    updateRecyclerView();
                }

                @Override
                public void onChildChanged(DataSnapshot dataSnapshot, String s) {

                }

                @Override
                public void onChildRemoved(DataSnapshot dataSnapshot) {
                    messageList.remove(dataSnapshot.getValue(ChatMessage.class));
                    updateRecyclerView();

                }

                @Override
                public void onChildMoved(DataSnapshot dataSnapshot, String s) {

                }

                @Override
                public void onCancelled(DatabaseError databaseError) {

                }
            });

但后来我得到了这个结果

  • 这只适用于ChildEventListener
  • TimeStamp由服务器完成
  • 有没有人知道这可能是什么?

更新

这是数据库结构

  • Box»»对象(消息)
  • 绿色»»MessageID
  • 蓝色»»RoomID

0 个答案:

没有答案