Firebase Android查询不返回任何结果
我的应用程序正在使用Firebase数据库9.0.2 在执行新安装后的几分钟内,数据库查询工作正常。 但是,当我在几分钟后重新打开应用程序时,“onDataChange”和“onCancelled”方法都不会返回任何结果。 如果我重新安装应用程序或执行应用程序数据清除,查询将再次工作 如何运行查询:Firebase Android查询不返回任何结果,android,firebase-realtime-database,Android,Firebase Realtime Database,我的应用程序正在使用Firebase数据库9.0.2 在执行新安装后的几分钟内,数据库查询工作正常。 但是,当我在几分钟后重新打开应用程序时,“onDataChange”和“onCancelled”方法都不会返回任何结果。 如果我重新安装应用程序或执行应用程序数据清除,查询将再次工作 如何运行查询: Query query = FirebaseDatabase.getInstance().getReference().child("listings").child(id); qu
Query query = FirebaseDatabase.getInstance().getReference().child("listings").child(id);
query.addValueEventListener(new ValueEventListener() {
@Override
public void onDataChange(DataSnapshot dataSnapshot) {
//do something
}
@Override
public void onCancelled(DatabaseError databaseError) {
//do something
}
});
以下是我的数据库规则:
{
"rules": {
".read": true,
".write" : true
}
}
知道为什么会发生这种情况吗?您可能已经使用了
addValueEventListener
,但当该值发生任何更改时,将调用它。如果要从数据库读取数据,则需要使用addListenerForSingleValueEvent
mDatabase.child("users").child("childKey").addListenerForSingleValueEvent(
new ValueEventListener() {
@Override
public void onDataChange(DataSnapshot dataSnapshot) {
}
@Override
public void onCancelled(DatabaseError databaseError) {
Log.w(TAG, "getUser:onCancelled", databaseError.toException());
}
});
有关更多信息,请参阅您查询数据库的代码?@Shubhank,已用我的查询代码更新,您在哪个函数中调用此函数>