Как я могу получить ценность детей в Firebase - PullRequest
0 голосов
/ 18 октября 2018

У меня есть эта структура в Firebase:

enter image description here

У меня есть код:

DatabaseReference curtidasRef = firebaseRef.child("postagens-curtidas").child(feed.getId()).child("qtdCurtidas");

Моя структура базы данных:

enter image description here

Мой вопрос: Как я могу получить значение qtdCurtidas?

Ответы [ 2 ]

0 голосов
/ 20 октября 2018

Чтобы получить значение вашего qtdCurtidas, используйте следующие строки кода:

DatabaseReference rootRef = FirebaseDatabase.getInstance().getReference();
DatabaseReference ref = rootRef.child("postagens-curtidas");
ValueEventListener valueEventListener = new ValueEventListener() {
    @Override
    public void onDataChange(DataSnapshot dataSnapshot) {
        for(DataSnapshot ds : dataSnapshot.getChildren()) {
            long qtdCurtidas = ds.child("qtdCurtidas").getValue(Long.class);
            Log.d(TAG, "qtdCurtidas: " + qtdCurtidas);
        }
    }

    @Override
    public void onCancelled(@NonNull DatabaseError databaseError) {
        Log.d(TAG, databaseError.getMessage());
    }
};
ref.addListenerForSingleValueEvent(valueEventListener);

Выходные данные в вашем logcat будут:

qtdCurtidas: 1
0 голосов
/ 18 октября 2018

Вы можете использовать valueEventListener для получения данных.Сначала определите вашу переменную.Как видно из вашего скриншота, это целочисленная переменная.Затем установите valueEventListener для вашей DatabaseReference.

int myValue;

curtidasRef.addValueEventListener(new ValueEventListener() {
            @Override
            public void onDataChange(DataSnapshot dataSnapshot) {
                             myValue= dataSnapshot.getValue(Integer.class);
            }

            @Override
            public void onCancelled(DatabaseError error) {
               //TODO: some codes to handele error
            }
        });
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...