Как обновить данные из базы данных Firebase без перезапуска Activity - PullRequest
0 голосов
/ 03 мая 2019

Я могу получить данные из базы данных Firebird, но они обновляются только в том случае, если я перезапущу действие, как это сделать без перезапуска действия.

Фрагмент кода с реализацией извлечения данных

 ValueEventListener valueEventListener = new ValueEventListener() {
        @Override
        public void onDataChange(DataSnapshot dataSnapshot) {

                long coinsAmount = dataSnapshot.child("coinsAmount").getValue(Long.class);
                text.setText(String.valueOf(coinsAmount));

        }

        @Override
        public void onCancelled(@NonNull DatabaseError databaseError) {
            Log.d(TAG, databaseError.getMessage()); //Don't ignore errors!
        }
    };
    uidRef.addListenerForSingleValueEvent(valueEventListener);

1 Ответ

1 голос
/ 03 мая 2019

Изменить

uidRef.addListenerForSingleValueEvent(valueEventListener);

на:

uidRef.addValueEventListener(valueEventListener);

Таким образом, ваш слушатель будет вызываться каждый раз, когда изменяется значение в БД, а не только один раз.

Узнайте больше о разнице между valueEvent и singleValueEvent .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...