У меня есть родительский узел «сообщения», и мне нужно получить число детей под этим родителем.Firebase getChildrenCount() подсчитывает удаленные данные
- Я удаляю весь узел «сообщений».
- Повторно создать «сообщения» с 1 ребенком внутри него.
- с использованием .getChildrenCount() из снимка из databaseRef.children ("сообщения")
- .getChildrenCount() возвращают 12 (предположим, что 1 в данный момент времени)
- Повторите шаг 1 - 4. время .getChildrenCount() return 13.
Это испытание показывает, что удаленные дети по-прежнему влияют на счет. Возможно, в Firebase есть внутренний счетчик, который не сбрасывается, когда дети были удалены.
Перед тем, как попасть в эту проблему? Как разрешить?
Проверите ли вы, что вы вызываете 13 раз при добавлении 'ChildEventListener'? Возможно, вам придется добавить этот прослушиватель, чтобы ваша локальная база данных извлекала изменения с сервера. – shem
@shem Hi Shem, похоже, настоящая проблема на стороне клиента. У меня есть ответ на мой вопрос. Chill :) – Terrence
Вы пытались включить/отключить опцию Disk Persistence? [Включить автономные возможности на Android] (https://firebase.google.com/docs/database/android/offline-capabilities) 'FirebaseDatabase.getInstance(). SetPersistenceEnabled (false);' или сохранить синхронизированные данные 'ref. keepSynced (истина); ' – Wilik