для того, чтобы иметь атомную операцию с данными в моих приложениях Firebase Android, я использую метод updateChildren(Map<String, Object> update)
установить несколько значений с помощью одной команды (это предотвращает несогласованность данных.Настройка приоритетов в вызове DatabaseReference.updateChildren()?
В некоторых случаях, при записи данных мне нужно установить приоритеты для того, чтобы элементы индекса, чтобы быть отсортированы правильно.
использованием «не атомные» setValue(Object value, Object priority)
операцию, то можно записать значение и установить приоритет в то же время. Использование updateChildren()
ввода команды не позволяет для определения приоритетов.
Чтобы установить p В настоящее время я вызываю setPriority()
в CompletionListener
команды updateChildren()
. Это работает, но вызывает странное поведение пользовательского интерфейса (элементы добавляются в нижнюю часть списка, а после этого они перемещаются в нужное место).
Каким будет рекомендуемый способ справиться с этим правильно?
Привет, Франк, спасибо за вашу быструю реакцию, я подробно рассмотрел вопрос. Пожалуйста, смотрите. – Peter
Код, который я опубликовал, показывает, как вы можете обновить приоритет элемента в вызове 'updateChildren()'. Хотя я могу определенно помочь в дальнейшем замене приоритета либо 'orderByValue()', либо 'orderByChild()', это, вероятно, отдельный вопрос. Там: опубликуйте полную информацию, потому что ваш текущий способ запроса затрудняет помощь за пределами того, что я уже сделал. Предоставьте минимальный JSON (как текст, а не скриншот), который вы пытаетесь загрузить или манипулировать, и фрагмент кода того, как вы пытаетесь загрузить или манипулировать им. –
Я создал новый вопрос, посвященный этой теме: [Как использовать orderByChild или orderByValue в FirebaseRecyclerAdapter] (http://stackoverflow.com/questions/39561612/how-to-use-orderbychild-or-orderbyvalue-in- а-firebaserecycleradapter) – Peter