我正在使用本机Android应用程序,我有一个其他工作代码,使用firebase电子邮件/密码身份验证来验证我的用户。在身份验证后,我将用户的详细信息存储在firebase relatime数据库中。
唯一的问题是当我尝试查询数据库以检查用户是否已存在时的部分。下面是执行此查询的代码片段,但是,流似乎没有进入'addListenerForSingleValueEvent'部分:
private void firstTimeUser(final String chkMail){
myRef.child("profile").addListenerForSingleValueEvent(new ValueEventListener() {
@Override
public void onDataChange(DataSnapshot dataSnapshot) {
userExists = dataSnapshot.hasChild(chkMail);
Log.d(TAG, "UserCheck1= " + userExists);
}
@Override
public void onCancelled(DatabaseError databaseError) {
Toast.makeText(getApplicationContext(), "An unexpected error occurred!", Toast.LENGTH_SHORT).show();
}
});
Log.d(TAG, "UserCheck2 = " + userExists);
}
我进行了一些调查:
我还查看了帖子this。 将log语句合并到onDataChange中(如上面的代码片段所示),但是UserCheck1没有记录在任何地方,表示正在跳过执行!
你所有优秀人才的指示?