Java 读取Firebase数据库中的子级时出现问题

Java 读取Firebase数据库中的子级时出现问题,java,android,firebase,firebase-realtime-database,Java,Android,Firebase,Firebase Realtime Database,! 所以我试图将我的字符串与数据库进行比较,我想检查数据库中是否存在用户指定的字符串。但在编写代码时,输出总是否定的。我尝试了ValueEventListener和ChildEventListener 那么我如何才能得到所需的结果呢 parentRef = FirebaseDatabase.getInstance().getReference(); parentRef.child("Companies").addChildEventListener(new ChildEventListener

!

所以我试图将我的字符串与数据库进行比较,我想检查数据库中是否存在用户指定的字符串。但在编写代码时,输出总是否定的。我尝试了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