首页 > 解决方案 > 检查firebase是否已完成将项目添加到数据库

问题描述

我正在将数据从我的 android 应用程序发送到实时 firebase 数据库。

我想检查firebase何时完成将这些项目添加到数据库中,因为我将在服务器上调用一个脚本,该脚本将访问数据库中的数据(通过异步任务)。

但在调用脚本之前,我需要确保 firebase 已完成添加所有项目以避免数据中的任何冲突。代码将是这样的:

myRef.child(userID).setValue(items); //add items to firebase database

new SendPostRequest().execute(); //call script on the server that will connect 
                                    to firebase database and retrieve data. 

我想知道当firebase向数据库添加数据时是否会调用脚本,因此它会检索部分数据,所以我需要确保firebase首先完成将项目添加到数据库中。

标签: androidfirebasefirebase-realtime-database

解决方案


您可以添加一个完成侦听器以setValue()在调用完成时收到通知。

有关完整示例,请参阅Firebase 文档中的添加完成回调部分。

mDatabase.child("users").child(userId).setValue(user)
    .addOnSuccessListener(new OnSuccessListener<Void>() {
        @Override
        public void onSuccess(Void aVoid) {
            // Write was successful!
            // ...
        }
    })
    ...

推荐阅读