簡體   English   中英

在實時數據庫“ firebase”中處理錯誤情況的方法

[英]Way to handle error case in realtime database “firebase”

我試圖通過我的Android應用程序使用setValue()在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()
            }
        }
    });

我希望這有幫助。 編碼愉快!

您可以使用完成回調

FirebaseDatabase database = FirebaseDatabase.getInstance();
DatabaseReference myRef = database.getReference("message");
myRef.setValue("Hello, World!")
       .addOnSuccessListener(new OnSuccessListener<Void>() {
        @Override
        public void onSuccess(Void aVoid) {
            // Write was successful!
            // ...
        }
    })
    .addOnFailureListener(new OnFailureListener() {
        @Override
        public void onFailure(@NonNull Exception e) {
            // Write failed
            // ...
        }
    }); 

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM