Вы получаете этот результат, потому что вы не используете правильный запрос. Кроме того, в вашей базе данных нет узла с именем DataUsers
. Чтобы получить все дочерние элементы, которые содержат определенный штрих-код, используйте следующий запрос:
Query barcodeQuery = mFirebaseDatabase.child("ProductData").child("Products")
.orderByChild("barcode").equalTo(barcode);
ValueEventListener valueEventListener = new ValueEventListener() {
@Override
public void onDataChange(DataSnapshot dataSnapshot) {
for(DataSnapshot ds : dataSnapshot.getChildren()) {
String name = ds.child("name").getValue(String.class);
int price = ds.child("price").getValue(Integer.class);
int quantity = ds.child("quantity").getValue(Integer.class);
Log.d("TAG", name + "/" + price + "/" + quantity);
}
}
@Override
public void onCancelled(@NonNull DatabaseError databaseError) {
Log.d("TAG", databaseError.getMessage()); //Don't ignore errors!
}
};
barcodeQuery.addValueEventListener(valueEventListener);
Смотрите, я добавил в этот запрос оба узла ProductData
и Products
, а затем я упорядочил все дочерние элементы по barcode
имущество и б / у .equalTo(barcode)
.