gpt4 book ai didi

java - 在 Firebase 数据库中读取子项时遇到一些问题

转载 作者:行者123 更新时间:2023-12-02 09:46:00 25 4
gpt4 key购买 nike

! https://photos.app.goo.gl/8axsEgMJQAsBFnJF9

所以我试图将我的字符串与数据库进行比较,我想检查用户给定的字符串是否存在于数据库中。但当我编写代码时,输​​出始终为“否”。我尝试了 ValueEventListener 和 ChildEventListener。

那么我怎样才能得到所需的结果。

parentRef = FirebaseDatabase.getInstance().getReference();

parentRef.child("Companies").addChildEventListener(new ChildEventListener() {
@Override
public void onChildAdded(@NonNull DataSnapshot dataSnapshot, @Nullable String s) {
if ((dataSnapshot.child("jaq").exists())) {
Toast.makeText(MainActivity.this, "Yes", Toast.LENGTH_SHORT).show();
}
else {
Toast.makeText(MainActivity.this, "No", Toast.LENGTH_SHORT).show();
}
}

@Override
public void onChildChanged(@NonNull DataSnapshot dataSnapshot, @Nullable String s) {
if ((dataSnapshot.child("jaq")).exists()) {
Toast.makeText(MainActivity.this, "Yes", Toast.LENGTH_SHORT).show();
}
else {
Toast.makeText(MainActivity.this, "No", Toast.LENGTH_SHORT).show();
}
}

@Override
public void onChildRemoved(@NonNull DataSnapshot dataSnapshot) {

}

@Override
public void onChildMoved(@NonNull DataSnapshot dataSnapshot, @Nullable String s) {

}

@Override
public void onCancelled(@NonNull DatabaseError databaseError) {

}
});

最佳答案

在 valueEventListener 中尝试以下操作:

DatabaseReference reference = database.getReference("Companies");
reference.addValueEventListener(new ValueEventListener() {
@Override
public void onDataChange(DataSnapshot dataSnapshot) {

for (DataSnapshot childSnapshot : dataSnapshot.getChildren()) {
if(childSnapshot.child("jaq").exists()){
Toast.makeText(MainActivity.this, "Yes", Toast.LENGTH_SHORT).show();
}
}
}
@Override
public void onCancelled(DatabaseError databaseError) {
}
});

在这里,您在 dataSnapshot 中循环,然后检查数据库中是否存在子 jaq

关于java - 在 Firebase 数据库中读取子项时遇到一些问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56661438/

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