gpt4 book ai didi

android - Firebase DataSnapshot 空值

转载 作者:行者123 更新时间:2023-11-29 19:15:18 26 4
gpt4 key购买 nike

我的应用程序允许您将播放器添加到节点,添加播放器后,我将使用以下方法按 phoneNum 进行搜索,以查看该播放器是否存在于“用户”节点中。

我遇到问题的地方是我需要能够从找到的匹配节点中的用户的数据快照访问值。例如返回用户 id 的值。当我尝试这样做时,它一直显示为空值,当我尝试登录到控制台时,它提示它是一个空值,这没有意义,因为 if 语句应该处理这个问题。

该方法能够查找用户节点中是否存在玩家,并显示 Toast 消息来表明这一点。

Data Structure

代码:

public void checkPlayerNum(final String phoneNum) {
DatabaseReference mDatabaseReference =


FirebaseDatabase.getInstance().getReference().child("users");

if (!TextUtils.isEmpty(phoneNum)) {
final Query phoneNumReference = mDatabaseReference.orderByChild("phoneNum").equalTo(phoneNum);

ValueEventListener phoneNumValueEventListener = new ValueEventListener() {
@Override
public void onDataChange(DataSnapshot dataSnapshot) {
if (dataSnapshot.getValue() != null) {
// String key = String.valueOf(dataSnapshot.getValue());
User mUser = dataSnapshot.getValue(User.class);

String uId = mUser.getUid();

// Log.d("TAG",uId);
Toast.makeText(getApplicationContext(), "* found **"+ uId , Toast.LENGTH_LONG).show();
} else {
Toast.makeText(getApplicationContext(), "****NOT FOUND****", Toast.LENGTH_LONG).show();
}
}

@Override
public void onCancelled(DatabaseError databaseError) {}
};

phoneNumReference.addListenerForSingleValueEvent(phoneNumValueEventListener);


} else {
Log.e("Error","phoneNum is null");
}
}

最佳答案

final Query query = mFirebaseDatabase.orderByChild("phoneNum").equalTo("userPhoneNumber");
query.addListenerForSingleValueEvent(new ValueEventListener() {
@Override
public void onDataChange(DataSnapshot dataSnapshot) {
if (dataSnapshot.exists()) {
//here means the value exist
//do whatever you want to do
} else {
//here means the value not exist
//do whatever you want to do
}
}

@Override
public void onCancelled(FirebaseError firebaseError) {
}
});

用它来检查数据是否存在。

关于android - Firebase DataSnapshot 空值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43758597/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com