我尝试使用 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/