删除实时数据库中的引用时出现问题。我有一个验证用户是否存在于数据库中的代码。相关代码如下:
mDatabase = FirebaseDatabase.getInstance().getReference().child("Usuarios");
mDatabase.addListenerForSingleValueEvent(new ValueEventListener() {
@Override
public void onDataChange(DataSnapshot dataSnapshot) {
if(dataSnapshot.exists()) {
if (dataSnapshot.child(mAuth.getCurrentUser().getUid()).exists()) {
//There is an user in the DB
Log.i(TAG, "There is an user in the DB: " + dataSnapshot.child(mAuth.getCurrentUser().getUid()).getValue().toString());
Log.i(TAG, "Key: " + dataSnapshot.child(mAuth.getCurrentUser().getUid()).getKey().toString());
Log.i(TAG, "Ref: " + dataSnapshot.child(mAuth.getCurrentUser().getUid()).getRef().toString());
if (dataSnapshot.child(mAuth.getCurrentUser().getUid()).child("usuario").exists()) {
//It has an username
UserVerify();
} else {
//He didn't save an username
Log.i(TAG, "He didn't save an username");
loginSecond();
}
} else {
//No user in the DB
Log.i(TAG, "No user in the DB");
signOut();
}
} else {
Log.i(TAG, "There are not users");
signOut();
}
}
@Override
public void onCancelled(DatabaseError databaseError) {
}
});
}
但是,当我启动该应用程序时,它会检索我的日志值。有趣的事实是我的数据库完全是空的。
编辑
此外,我认为问题与我之前添加的脱机功能有关。另外,我没有提到20-30分钟后我的设备意识到我所做的更改,但我希望更快地做到这一点。