Firebase:从一侧删除聊天对话+消息

时间:2016-11-08 15:13:02

标签: android firebase android-recyclerview firebase-realtime-database

您好我正在聊天申请。这是我存储消息和聊天对话的结构。

"messages":{
  "ChatKey1":{
       "msg1":{
          "content":"hello",
          "timeStamp":"123344",
          "223232334sdsd":"false",
           "ssfdsfsfdsfsdf":"false"
    },
    "msg2":{
        "content":"Hi",
        "timeStamp":"123344",
        "ssfdsfsfdsfsdf":"false",
         "223232334sdsd":"false"
    }
}
"Chats_Conversation":{
    "UserID":{
    "ChatKey1":{
        "senderId":"223232334sdsd",
        "receiverID":"ssfdsfsfdsfsdf",
        "lastMessage":"hi"
    }
}

其中223232334sdsd是发件人ID,ssfdsfsfdsfsdf是接收者ID。两者都在消息中监听chatKeys1。现在我想从发送方删除msges?如果我删除邮件。它将从双方删除?我糊涂了。有人可以帮我。我如何从一方删除邮件

1 个答案:

答案 0 :(得分:0)

我将添加2个布尔字段,一个为isDeletedReceiver,另一个为isDeletedSender,然后运行逻辑(如果其他检查),假设发送方选择删除,我将检查其是否为接收方删除,如果为真,我“将从数据库中完全删除它,如果它为false,我将显示类似“此消息已删除”的文本,而不是原始数据,并且,如果检查返回的isDeletedReceiver为真值,我将删除该文档完全来自数据库,因为没有人会需要它。因此,总的来说,如果删除则只需要切换为true。