android - 使用 diskpersistence 时有时不会触发 Firebase setValue() 方法

标签 android firebase firebase-realtime-database

在 android 中启用磁盘持久性的情况下使用 firebase 时,我观察到有时使用 setValue() 方法添加的数据未反射(reflect)在数据库中。代码只是简单的 firebaseRef.child("xyz").setValue(userObj)。有什么想法吗?

最佳答案

您从评论中更新的问题是:

how can I know if the value has been written to the database for sure?

为此,您向 setValue() 调用添加一个完成监听器。来自documentation on completion listeners :

ref.setValue("I'm writing data", new Firebase.CompletionListener() {
  @Override
  public void onComplete(FirebaseError firebaseError, Firebase firebase) {
    if (firebaseError != null) {
      System.out.println("Data could not be saved. " + firebaseError.getMessage());
    } else {
      System.out.println("Data saved successfully.");
    }
  }
});

关于android - 使用 diskpersistence 时有时不会触发 Firebase setValue() 方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35457086/

相关文章:

android - 如何从firebase数据库中的嵌套节点检索所有数据

java - 如何在非Activity类android中调用onActivityResult

swift - 使用多个查询过滤 firebase

java - RxJava : A scan with Single based accumulator which disposes intermediate Single

java - 尝试写入文档是否会消耗 Cloud Firestore 中的写入操作成本?

swift 3 : How to retry Firebase upload on failure

java - 从 Single ValueEventListener 获取 firebase 引用

java - Recycler查看项目点击键

android - 手机充当灯塔

Android 不尊重颜色!