我想得到孩子的价值。但我必须等待数据发生变化。但我不想在没有数据变化的情况下获得价值。 (没有听众)
我使用以下方法:
FirebaseDatabase.child("benim-degerim").addValueEventListener(new ValueEventListener() {
@Override
public void onDataChange(DataSnapshot snapshot) {
snapshot.getValue().toString()
}
@Override
public void onCancelled(DatabaseError databaseError) {
}
});
我想没有监听器的snapshot.getValue()。我该怎么办?
答案 0 :(得分:3)
通过互联网加载数据需要时间。这就是为什么它以异步方式完成的原因,以便您的应用用户可以在下载数据时继续使用该应用。
由于没有办法让互联网即时,因此下载将始终是异步的,因此需要一个监听器(或其他框架,一些其他形式的回调)。
我发现习惯于异步方法的最快方法是重新构建问题,首先获取数据,然后使用它做一些事情"当我们获得数据时,用它做一些事情"。这通常意味着您移动代码"某些东西"进入onDataChange()
方法。