java - 实时数据库中错误情况的处理方法 "firebase"

标签 java android firebase firebase-realtime-database

我尝试使用 setValue() 通过我的 Android 应用程序在 firebase 实时数据库上写入,它工作得很好..但我不知道如果出现问题我该如何处理错误

我尝试了 try/catch 并关闭 WIFI,因此 setValue 函数将无法工作 但它似乎没有捕获任何异常

FirebaseDatabase database = FirebaseDatabase.getInstance();
DatabaseReference myRef = database.getReference("message");
try{
    myRef.setValue("Hello, World!"); 
}catch(Exception e){
    e.printStackTrace();
}

最佳答案

您可以使用多种方法来处理此问题。您可以设置多个监听器中的任何一个来监视 setValue() 调用的结果状态:

  • onCompleteListener()
  • onFailureListener()
  • onSuccessListener()

我个人偏好是 onCompleteListener() 因为它允许我用最少的代码行同时检查成功和失败。这是一个实现:

FirebaseDatabase database = FirebaseDatabase.getInstance();
DatabaseReference myRef = database.getReference("message");

myRef.setValue("Hello, World!").addOnCompleteListener(new OnCompleteListener<Void>() {
        @Override
        public void onComplete(@NonNull Task<Void> task) {
            if(task.isSuccessful()) {
                // handle success event
            }
            else {
                // handle failure event
                // You can get the exact exception using task.getException()
            }
        }
    });

我希望这有帮助。快乐编码!

关于java - 实时数据库中错误情况的处理方法 "firebase",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57400037/

相关文章:

java - SpringBoot @KafkaListener 得到 MessageConversionException : Cannot convert from A to B

java - secret 是否可以隐藏在提供访问凭据的 'safe' java 类中?

java - 如何在Camunda平台中使用Java API代码来描述BPMN流程,然后在Tomcat中部署 war

java - 获取 Int 中的 Float 部分

android - 选择内部存储和外部存储

android - 从 RemoteViews 调用 setImageDrawable

java - Firebase 电话身份验证替换了 userimage 和 Displayname

ios - 从 ios 中的 firebase 上的特定文件夹下载所有图像

node.js - 尝试通过云功能将文件从存储上传到 FTP 服务器时超时

java - OnClickListener = 向下 + 向上?安卓