Согласно вашему последнему комментарию:
yes a - это штрих-код, который я получу от штрих-кода. itemQuantity одиночного потомка.
Чтобы получить значение itemQuantity
свойства одиночного потомка, используйте следующие строки кода:
DatabaseReference rootRef = FirebaseDatabase.getInstance().getReference();
DatabaseReference barcodeRef = rootRef.child("Items").child("1234567781");
ValueEventListener valueEventListener = new ValueEventListener() {
@Override
public void onDataChange(DataSnapshot dataSnapshot) {
long itemQuantity = dataSnapshot.child("itemQuantity").getValue(Long.class);
Log.d(TAG, String.valueOf(itemQuantity));
//Do what you need to do with itemQuantity
}
@Override
public void onCancelled(@NonNull DatabaseError databaseError) {
Log.d(TAG, databaseError.getMessage()); //Don't ignore errors!
}
};
barcodeRef.addListenerForSingleValueEvent(valueEventListener);
Результат вlogcat будет выглядеть следующим образом:
14
Проблема в вашем коде заключается в том, что вы перебираете объект dataSnapshot
, используя метод getChildren()
, когда это на самом деле не нужно. Вы должны получить только правильную ссылку, как в приведенном выше коде, и просто использовать значение свойства itemQuantity
при необходимости.