如何实现像whatsapp刻度线这样的消息发送状态?

阿西什·亚达夫

我正在开发一个聊天应用程序。Firebase 具有这种离线功能。即使我离线,发送的短信也会显示为已发送。

是否有可能以任何方式显示两种状态?一种是当用户从应用程序发送消息时,另一种是当消息写入数据库时​​。任何帮助将不胜感激。

这是我写入数据库的方式:

mChatSendBtn.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                String message = mChatMessageView.getText().toString();
                if (!TextUtils.isEmpty(message)){

                    String user_ref = "Announcement/"+email_red+"/"+class_id;

                    DatabaseReference user_message_push = mRootRef.child("Announcement")
                            .child(email_red).child(class_id).push();

                    String push_id = user_message_push.getKey();

                    Map messageMap = new HashMap();
                    messageMap.put("Message", message);
                    messageMap.put("Type", 1);

                    Map messageUserMap = new HashMap();
                    messageUserMap.put(user_ref+"/"+push_id,messageMap)

                    mRootRef.updateChildren(messageUserMap, new DatabaseReference.CompletionListener() {
                        @Override
                        public void onComplete(@Nullable DatabaseError databaseError, @NonNull DatabaseReference databaseReference) {
                            if (databaseError!=null){

                            }
                        }
                    });
                }
            }
        });
道格史蒂文森

您可以通过在更新上使用回调方法来判断写入数据库何时成功。您在这里使用了一个,但您没有在其中做任何事情:

mRootRef.updateChildren(messageUserMap, new DatabaseReference.CompletionListener() {
    @Override
    public void onComplete(@Nullable DatabaseError databaseError, @NonNull DatabaseReference databaseReference) {
        if (databaseError!=null){

        }
    }
});

当上面onComplete被调用时,这就是你如何知道messageUserMap在服务器上成功完成了写入

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

如何实现像stackoverflow这样的注释结构

如何实现像Palabre这样的布局

如何实现像 facebook 这样的聊天,其中用户 A 在不刷新页面的情况下向用户 B 发送消息?

如何实现消息读取状态(如whatsapp蓝色勾号)?

如何实现像语音记录这样的 android viber 应用程序并将其发送到服务器?

如何在 css 中实现像工具提示这样的东西?

如何实现像v8这样的健壮哈希表

如何在Qt中实现像日历这样的前景

如何实现像instagram这样的长按图像预览

如何实现像memcpy()这样的快速复制功能?

如何在android中实现像gmail这样的滑动功能

实现像Wordle这样的词云的算法

使用像 WhatsApp 这样的 FCM 实现聊天消息通知

如何在用户空间中实现像 `format_args!` 这样复杂的宏?

如何在Java中实现像HashMap <String,Hashmap <String,String >>这样的多值哈希图

如何使用AngularJS实现像Google这样的右上角个人资料按钮?

android:如何在我的应用程序中实现像Go Launcher这样的首次教程?

如何在张量流中实现像keras这样的子样本?

如何实现像a> b?c:d这样的原子条件运算符?

Open Inventor / coin3d如何实现像OpenGL这样的双面渲染?

如何使用Twilio异步发送whatsapp消息

如何通过viber / whatsapp从Java发送消息

如何在whatsapp-web.js中发送whatsapp消息

FreeType如何呈现像üäö这样的特殊字符?

通过WhatsApp发送消息

从WhatsApp发送自动消息

golang继承来实现像集合/模型这样的主干

如何使用Kotlin实现像Realm RecyclerView适配器这样的延迟加载RecyclerView适配器

如何成功实现onDestroy()来发送消息?