我正在将数据从我的Android应用发送到实时Firebase数据库。
我想检查firebase何时将这些项目添加到数据库中,因为我将在服务器上调用脚本(该脚本通过asynctask)来访问数据库中的数据。
但是在调用脚本之前,我需要确保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首先完成了将项目添加至数据库的操作。
答案 0 :(得分:2)
您可以将完成监听器添加到setValue()
中,以在呼叫完成时得到通知。
有关完整示例,请参见Firebase文档中的add a completion callback部分。
mDatabase.child("users").child(userId).setValue(user) .addOnSuccessListener(new OnSuccessListener<Void>() { @Override public void onSuccess(Void aVoid) { // Write was successful! // ... } }) ...