1
我想创建一个使用firebase作为后端的应用程序。现在我遇到的问题是我必须附加一个侦听器才能获取数据快照。但是,每次我的应用程序启动时,即使数据库中没有更改,我也想查询Firebase的数据并填充我的视图。如何从Firebase中检索数据而无需聆听更改?
我想创建一个使用firebase作为后端的应用程序。现在我遇到的问题是我必须附加一个侦听器才能获取数据快照。但是,每次我的应用程序启动时,即使数据库中没有更改,我也想查询Firebase的数据并填充我的视图。如何从Firebase中检索数据而无需聆听更改?
我想你正在做的事情是这样的:
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
}
});
谢谢....我现在明白了....问题在于,重写方法onDatachange的名称是误导性的,我认为它仅在数据更改时才被调用 –
请分享您的代码 –
答案应该是在这里:https://firebase.google.com/docs/database/android/retrieve-data#child-events –