У меня есть вопрос о базе данных Firebase. После того, как данные были изменены, прослушиватель снова дает вам все данные или только недавно добавленные данные?Firebase приемник данных реального времени
ответ
The documentation говорит:
Вы можете использовать метод OnDataChange(), чтобы прочитать статический снимок содержимого на данном пути, как они существовали в момент события. Этот метод запускается один раз, когда слушатель подключен, и снова каждый раз, когда данные, включая детей, изменяются. Обратный вызов события передается снимок, содержащий все данные в этом месте, включая данные для детей. Если данных нет, возвращается моментальный снимок.
So также неизменные части данных возвращаются.
Это просто означает, что вы должны использовать в качестве специфических и сузили-вниз слушателей, насколько это возможно, поскольку документация также предлагает:
Важно: OnDataChange() метод вызывается каждый раз, когда данные изменен на указанную ссылку на базу данных, включая изменения для детей. Чтобы ограничить размер ваших снимков, прикрепите только на уровне , который необходим для просмотра изменений. Например, добавление прослушивателя в корень вашей базы данных не рекомендуется.