Java 在Firebase实时数据库中插入数据时,会删除以前的数据

Java 在Firebase实时数据库中插入数据时,会删除以前的数据,java,android,firebase,dictionary,firebase-realtime-database,Java,Android,Firebase,Dictionary,Firebase Realtime Database,我正在努力在我的应用程序中添加聊天模块,但在设置新值时遇到了一个问题,前一个被删除。我的Android源代码看起来像:- Map dictMap = new HashMap(); dictMap.put(Message.chatId,1); userMessageRef.child(Message.senderId + "/" + RecieverUID).setValue(dictMap); recipientUserMessageRef.child(RecieverU

我正在努力在我的应用程序中添加聊天模块,但在设置新值时遇到了一个问题,前一个被删除。我的Android源代码看起来像:-

   Map dictMap = new HashMap();
   dictMap.put(Message.chatId,1);
   userMessageRef.child(Message.senderId + "/" + RecieverUID).setValue(dictMap);
   recipientUserMessageRef.child(RecieverUID + "/" + Message.senderId).setValue(dictMap);
在firebase中,结构是SenderID、ReceiverID和dictMap,但每次我发送一条新消息时,前一条消息都会被删除。

你喜欢这样吗

       Map dictMap = new HashMap();
       dictMap.put(Message.chatId,1);
       userMessageRef.child(Message.senderId + "/" + RecieverUID).push().setValue(dictMap);
       recipientUserMessageRef.child(RecieverUID + "/" + Message.senderId).push().setValue(dictMap);
在这个方法中,为每条消息创建随机id,类似于json

     RecieverUID + "/" + Message.senderId{
                    id1:message,
                    id2:message,
                  }

Message.senderId+“/”+ReceiveUID始终对应于同一个子项,假设您正在从Dude1向Dude2发送某些内容,虽然这可能会回答问题,但代码块本身通常不是有用的答案,更可能吸引反对票。建议解释您正在展示的解决方案的作用,以及该代码为什么/如何回答问题。使用Push()。它将生成另一个ID,但字典本身有一个唯一的IDID@AlexMamo我试图存档的是每次都在同一个孩子身上的成瘾数据。