# #firebase #kotlin #android-intent #bundle
Вопрос:
Я получаю оценку от firebase в GameActivity, а затем передаю ее в ScoreActivity с помощью пакета. Я хочу обновить оценку в своем приложении в режиме реального времени при изменении базы данных, как я могу этого добиться?
Спасибо.
Комментарии:
1. Вместо того, чтобы передавать вещи через разные действия, я бы просто придерживался одного действия и нескольких фрагментов. С помощью этого вы можете создать activityviewmodel, а затем просмотреть нужную строку из базы данных
2. спасибо за ваш ответ, я уже создаю свое приложение со многими действиями 🙁 Я не знаю, буду ли я подключаться к базе данных каждый раз, когда активность показывала, что это замедлит мое приложение?
3. Чтобы лучше понять, оценка, которую вы получаете в игровом действии, постоянно меняется, и вы хотите получать обновления в режиме реального времени о результатах в игровом действии? Пожалуйста, ответьте @AlexMamo
4. @AlexMamo да, это то, чего я хочу
Ответ №1:
Согласно этому комментарию:
Оценка, которую вы получаете в игровом действии, постоянно меняется, и вы хотите получать обновления в режиме реального времени о результатах в игровом действии?
Чтобы получать обновления в режиме реального времени о постоянно меняющемся свойстве, вам также необходимо подключить прослушиватель в режиме реального времени во втором действии.
Согласно официальной документации:
Чтобы прочитать данные по пути и прослушать изменения, используйте метод addValueEventListener (), чтобы добавить значение ValueEventListener в ссылку базы данных.
Простая передача объекта через намерение или пакет не обеспечивает эту функцию в реальном времени.
Поскольку вы не выбрали тег для конкретной базы данных, я также покажу вам, как этого добиться в случае Cloud Firestore, где для прослушивания обновлений в режиме реального времени следует использовать addSnapshotListener() для DocumentReference или для объекта CollectionReference.
Поэтому не бойтесь использовать несколько прослушивателей, все запросы передаются по конвейеру через одно соединение.
Комментарии:
1. Я проверил ваше приложение FireApp и все еще не знаю, как реализовать автоматическое обновление данных в пользовательском интерфейсе при изменении базы данных. Вы можете мне с этим помочь?
2. Приложение FireApp не получает данные в режиме реального времени. Однако при использовании функции addValueEventListener() в случае базы данных реального времени или функции addSnapshotListener() в случае облачного магазина Firestore вы получите желаемое поведение.