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对