поэтому у меня есть база данных, где я ищу товары по штрих-кодам. ![enter image description here](https://i.stack.imgur.com/aaBx7.png)
Я хотел проверить, есть ли товары в моей базе данных
mFirebaseInstance = FirebaseDatabase.getInstance();
mFirebaseDatabase = mFirebaseInstance.getReference("ProductData");
productId = mFirebaseDatabase.push().getKey();
public void searchProduct(String barcode){
Query barcodeQuery = mFirebaseDatabase.child("Products")
.orderByChild("barcode").equalTo(barcode);
ValueEventListener valueEventListener = new ValueEventListener() {
@Override
public void onDataChange(@NonNull 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("DATABASE", name + "/" + price + "/" + quantity); /// The output that I get is this: Neopraxam/25/1 and Vazelina/250/1
Так я ищу товары по штрих-коду.
searchProduct("123123123");
searchProduct("3232");
Я пытался добавить эти методы, чтобы проверить, является ли значение, которое я пытаюсь получить, нулевым:
if (ds.exists()){} OR
if (ds.getChildrenCount() != 0){}
Но я видел, что оно даже не вводится в l oop, если значение не существует. Итак, я предполагаю, что это исходит из запроса. Итак, как я могу проверить, возвращает ли запрос нулевое значение, потому что я использовал метод .equalTo (штрих-код), поэтому я предполагаю, что он должен возвращать истинное или ложное значение