【问题标题】:Unordered data adding into firebase database`添加到 Firebase 数据库中的无序数据`
【发布时间】:2017-10-29 00:57:11
【问题描述】:

我正在使用聊天应用程序,用户可以在其中发送图像、视频和图像等。 一切正常,但是当我将视频路径添加到 firebase 数据库时,它每次都添加到第三行,但其他数据以我的有序方式添加。正如您在下图中看到的MessageImage_Message 总是首先添加,但在视频案例中Video_Message 添加在第三行。我怎样才能将它像MessageImage_Message 放在第一位。

这是我将视频数据添加到 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);

【问题讨论】:

  • 您订购的内容无关紧要。最终,您使用 HashMap 中的键值对获取数据

标签: android firebase firebase-realtime-database hashmap


【解决方案1】:

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

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

【讨论】:

  • 我将Video_Message 更改为Message_aVideo,但如果它按字母顺序添加到第三行,那么它应该放在第一行。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2019-10-19
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2023-03-06
  • 1970-01-01
相关资源
最近更新 更多