Android 如何在Firebase聊天应用程序中实现消息查看功能

Android 如何在Firebase聊天应用程序中实现消息查看功能,android,firebase,kotlin,firebase-realtime-database,chat,Android,Firebase,Kotlin,Firebase Realtime Database,Chat,我正在开发firebase聊天应用程序。我想包括seed功能初始化,就像whatsapp一样。我已经将此引用到构建数据库中 我正在使用addChildEventListener从firebase获取数据。这是我的应用程序,一切正常 我不知道如何实现这个功能,因为我们没有任何控件,比如消息上的click event 先谢谢你 `我假设您的数据库类似于messages/{messageId}/seenBy/{uid}->{name} 一个简单的解决方案是: 在子事件侦听器回调中,将消息添加到视图时,

我正在开发
firebase
聊天应用程序。我想包括
seed
功能初始化,就像whatsapp一样。我已经将此引用到构建数据库中

我正在使用
addChildEventListener
firebase
获取数据。这是我的应用程序,一切正常

我不知道如何实现这个功能,因为我们没有任何控件,比如消息上的
click event

先谢谢你


`

我假设您的数据库类似于
messages/{messageId}/seenBy/{uid}->{name}

一个简单的解决方案是:

在子事件侦听器回调中,将消息添加到视图时,检查
messageSnapshot.child('seenBy').child(myUid.exists()
。如果它不存在,在那里写下你的名字,比如
messageSnapshot.child('seenBy').child(myUid).getRef().set(myName)


您还必须处理“child changed”事件,当用户在
seenBy

中写入自己的名字时会触发这些事件。我假设您的数据库类似于
messages/{messageId}/seenBy/{uid}->{name}

一个简单的解决方案是:

在子事件侦听器回调中,将消息添加到视图时,检查
messageSnapshot.child('seenBy').child(myUid.exists()
。如果它不存在,在那里写下你的名字,比如
messageSnapshot.child('seenBy').child(myUid).getRef().set(myName)


您还必须处理“child changed”事件,当用户在
seenBy

中写入自己的名字时,会触发该事件。我以前做的是为看到的每个消息
都有一个字段,它将是一个布尔值。如果用户要求查看来自firebase的消息,此字段将变为
true
database@KwnstantinosNikoloutsos是的,我以前做的是为看到的每条消息都有一个字段,它将是一个布尔值。如果用户要求查看来自firebase的消息,此字段将变为
true
database@KwnstantinosNikoloutsos对