无序数据添加到firebase数据库`

时间:2017-10-29 00:57:12

标签: android firebase firebase-realtime-database hashmap

我正在使用聊天应用,用户可以在其中发送图片,视频和图片等。 一切都工作正常,但当我将视频路径添加到firebase数据库时,它每次都添加到第三行,但其他数据以我的有序方式添加。正如您在下面的图片中看到的那样MessageImage_Message总是先添加,但在第三行添加视频用例Video_Message。如何在第一个地方移动MessageImage_Message

Firebase Database

以下是我将视频数据添加到firebase数据库的方法

Uri download_URI = taskSnapshot.getDownloadUrl();

                            Map<String, Object> map = new HashMap<>();
                            map.put("Message_From",  userSession.getUserFname() + " " +  userSession.getUserLname());
                            map.put("Message_To", UserName_Intent);
                            map.put("Video_Message", download_URI.toString());
                            map.put("Time", time);
                            map.put("token_From",Sender_FCMToken);
                            map.put("token_To",FirebaseToken_Intent);
                            String Temp_Key =  databaseReference.push().getKey();
                            Map<String, Object> RoomKey = new HashMap<>();
                            databaseReference.updateChildren(RoomKey);
                            DatabaseReference message_Root =  databaseReference.child(Temp_Key);
                            message_Root.updateChildren(map);

将图像数据添加到firebase

 Uri download_URI = taskSnapshot.getDownloadUrl();

                Map<String, Object> map = new HashMap<>();
                map.put("Message_From", userSession.getUserFname() + " " + userSession.getUserLname());
                map.put("Message_To", UserName_Intent);
                map.put("Image_Message", download_URI.toString());
                map.put("Time", time);
                map.put("token_From",Sender_FCMToken);
                map.put("token_To",FirebaseToken_Intent);
                String Temp_Key = databaseReference.push().getKey();
                Map<String, Object> RoomKey = new HashMap<>();
                databaseReference.updateChildren(RoomKey);
                DatabaseReference message_Root = databaseReference.child(Temp_Key);
                message_Root.updateChildren(map);

1 个答案:

答案 0 :(得分:0)

Firebase数据库控制台中节点的属性按字母顺序显示。这不能修改。

但是,正如mzeus评论的那样,这并不重要,因为用户看到的唯一显示是在应用中,您可以在其中控制属性的显示顺序。