i'm using firebase database 9.0.2 app.
database querying working within next few minutes after perform fresh install. however, when re-open app after few minutes, both "ondatachange" , "oncancelled" method not returning result. query work again if reinstall app or perform app data clear.
how run query:
query query = firebasedatabase.getinstance().getreference().child("listings").child(id); query.addvalueeventlistener(new valueeventlistener() { @override public void ondatachange(datasnapshot datasnapshot) { //do } @override public void oncancelled(databaseerror databaseerror) { //do } });
here's database rule:
{ "rules": { ".read": true, ".write" : true } }
any idea why happening?
you might have used addvalueeventlistener
, called when there change in value.if want read data database need use 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()); } });
refer this more