当我从Firebase检索聊天消息时,它是在没有发送时间消息的情况下检索它们
我尝试了orderbychild(timestamp); 但这不适用于我的情况
util
实际结果是检索邮件时不看时间 我需要的是按日期和时间检索消息,但是firebase会做另一件事
答案 0 :(得分:0)
您可能想使用FCM代替实时数据库。
onChildAdded
会在用户发送消息时在每台设备上触发,这是一个安全问题,确实对性能不利,假设您每秒发送1k消息,这将使您的应用程序非常非常慢。
我的建议是将每个用户的Firebase ID保存在数据库中,然后使用该ID向该特定用户发送通知,以查看FCM来接收消息。
要发送消息,我的建议是使用登录令牌来使服务器上的用户生效,您可以从服务器查询Firebase来发送消息。 link,您也可以使用Firebase Functions,只需将api_key
放在安全的地方
答案 1 :(得分:0)
好的,我认为所有消息都将在最晚之前进行排序,所以我认为问题出在RecyclerView中,我也认为RecyclerView中的解决方案也是如此。
在将所有消息提取到RecyclerView之后,应放置以下行:
mRecy.smoothScrollToPosition(mRecy.getAdapter().getItemCount());
希望它对您有帮助:)