Android 在updateChildren之后直接清除HashMap会破坏该功能
电话:Android 在updateChildren之后直接清除HashMap会破坏该功能,android,firebase,firebase-realtime-database,Android,Firebase,Firebase Realtime Database,电话: HashMap<String, Object> updates = new HashMap<String, Object>(); updates.put(myKey, null); mDatabase.updateChildren(updates); updates.clear(); 这是错误还是预期行为?是否有相关文档?更新将异步发送到Firebase数据库。在更新完成之前,不应修改传递给Firebase的地图 这是很容易做到的): 谢谢你的建议,我会把它交给
HashMap<String, Object> updates = new HashMap<String, Object>();
updates.put(myKey, null);
mDatabase.updateChildren(updates);
updates.clear();
这是错误还是预期行为?是否有相关文档?更新将异步发送到Firebase数据库。在更新完成之前,不应修改传递给Firebase的地图 这是很容易做到的):
谢谢你的建议,我会把它交给听众。说到这里,由于它的回调参数是数据库根目录下的DatabaseReference,这是否意味着它在执行updateChildren之后实际下载了整个数据库?文档通常建议只获取尽可能最小的树,因此拥有根DatabaseReference使我想再次检查DataSnapshot是否未与itareference一起获取,只有在连接侦听器后,itareference才会下载数据。
mDatabase.updateChildren(new HashMap<String, Object>(updates));
mDatabase.updateChildren(updates, new DatabaseReference.CompletionListener() {
@Override
public void onComplete(DatabaseError error, DatabaseReference ref) {
if (error == null) {
updates.clear();
}
}
});