firebase数据库获取节点的最后一个子节点

时间:2018-08-07 23:04:16

标签: android firebase firebase-realtime-database

我正在使用android和firebase制作聊天应用程序,并且我试图仅获取每个用户的最新消息。我设法做到了,但我相信有一种更简便快捷的方式,我认为自己的方式非常慢,因为我会遍历所有孩子的

我在firebase的数据库看起来像这样

enter image description here

对不起,我还没有上传照片的权限,因此您必须打开照片。

我的代码是

messageDatabaseReference = firebaseDatabase.getReference().child("message");

childEventListener = new ChildEventListener() {
            @Override
            public void onChildAdded(@NonNull DataSnapshot dataSnapshot, @Nullable String s) {

              int counter=0;
                for (DataSnapshot child : dataSnapshot.getChildren()) {
                    counter++;
                    if(counter==dataSnapshot.getChildrenCount()){
                        Message message = child.getValue(Message.class);
                        messageAdapter.add(message);
                    }

                }
            }
            public void onChildChanged(@NonNull DataSnapshot dataSnapshot, @Nullable String s) { }
            public void onChildRemoved(@NonNull DataSnapshot dataSnapshot) { }
            public void onChildMoved(@NonNull DataSnapshot dataSnapshot, @Nullable String s) { }
            public void onCancelled(@NonNull DatabaseError databaseError) { }
        };
        messageDatabaseReference.addChildEventListener(childEventListener);

0 个答案:

没有答案