我想创建一个使用firebase作为后端的应用程序。现在我遇到的问题是我必须附加一个监听器才能获取数据快照。但是每次我的应用程序启动时,我都想查询firebase的数据并填充我的视图,即使数据库没有变化。
答案 0 :(得分:4)
我想你正在做这样的事情:
DatabaseReference ref = FirebaseDatabase.getInstance().getReference();
ref.addValueEventListener(new ValueEventListener() {
@Override
public void onDataChange(DataSnapshot dataSnapshot) {
// Code
}
@Override
public void onCancelled(DatabaseError databaseError) {
// Code
}
});
因此,根据我的想法,调用名为addListenerForSingleValueEvent
的替代方法可以解决问题。它将不监听更改,只要返回一个值,它就会停止连接,直到再次连接。
<强>结果强>
DatabaseReference ref = FirebaseDatabase.getInstance().getReference();
ref.addListenerForSingleValueEvent(new ValueEventListener() {
@Override
public void onDataChange(DataSnapshot dataSnapshot) {
// Code
}
@Override
public void onCancelled(DatabaseError databaseError) {
// Code
}
});