您好我遇到了一个奇怪的问题,有时在我的手机中构建我的应用程序既不调用onDataChange也不调用onCancelled。
我尝试解决问题的方法是:
确保我的读写规则全部打开
尝试使用addValueEventListener和addListenerForSingleValueEvent
以下是我的代码示例:
private void UpdateFriendList(){
String passing = "Users/"+requesteEmail+"/Friends";
DatabaseReference myRef = database.getReference("Users/"+requesteEmail+"/Friends");
Log.d("TAGL","my Refs VAlue is : "+ myRef.toString());
Log.d("TAGL","outside THE PLACE above passing: "+ passing);
myRef.addValueEventListener(new ValueEventListener() {
@Override
public void onDataChange(DataSnapshot dataSnapshot) {
Log.d("TAGL","IN the datachange");
populateFirendsLists(dataSnapshot);
}
@Override
public void onCancelled(DatabaseError databaseError) {
Log.d("TAGL","EROR ");
}
});
Log.d("TAGL","outside THE PLACE below");
}
这是带有括号的logcat替换某些字符串以保护隐私
我的Refs VAlue是:( app path)/ Users /(用户路径)/ Friends
在THE PLACE以上传递:用户/(路径)/朋友
在下面的地方
当我退出并重新登录时,它会调用日志语句和函数。
奇怪的是,重新启动应用程序并没有改变任何事情。因此,如果它的工作和我重新启动应用程序它将继续工作。但如果它没有重新启动它也不会解决它。也许它是一个Android工作室的东西?但我听起来不对。
这个奇怪的错误似乎只发生在我登录并构建和运行应用程序时。然而,构建和运行应用程序并不总是会发生这种故障,有时候会发生。
你们有没有想过为什么有时会发生这种情况?我不确定什么会阻止onDataChange和onCancelled都不被调用。