【发布时间】:2018-03-12 19:00:23
【问题描述】:
我目前正在尝试将数据保存到 Firebase 实时数据库。我只是想用
保存数据databaseReference.child("someChild").setValue(someObject);
Thread.sleep(1000);
这很好用。对象出现在控制台中,一切正常。但是我想知道是否有更流畅的实现,所以我尝试使用OnCompleteListener
并编写出以下代码:
final AtomicBoolean done = new AtomicBoolean(false);
databaseReference.child("someChild")
.setValue(someObject)
.addOnCompleteListener(new OnCompleteListener<Void>() {
@Override
public void onComplete(@NonNull Task<Void> task) {
System.out.println("completed");
done.set(true);
}
});
while (!done.get());
再次,数据成功写入数据库,但根本没有调用onCompleteListener,因此while循环没有中断。
为什么不调用 Listener?我也做了其他设置(没有while-loop),但这些也不起作用。
提前致谢。
【问题讨论】:
标签: java android firebase firebase-realtime-database