Цель : показать список групп на основе последнего сообщения, а при появлении нового сообщения обновить список групп чата.
Структура Firebase:
Слева одна структура представляет модель пользователя : в основном под ключом студента есть список ученика, затем его данные вместе с идентификаторами групп, в которых он / она участвовал.
Правая структура представляет собой модель детализации группы : Под ключом chat_group, есть список групп с деталями, а также временем последних сообщений.
Пробное решение:
Извлечение идентификатора группы из студента, используя метод onChildAdded базы данных Firebase, один за другим, затем извлечение сведений о группе с помощью метода addListenerForSingleValueEvent, затем сохранение в списке и каждый раз сортируйте его, используя метод сортировки списка массивов, а затем вызывайте метод notifyDataSetChanged адаптера recyclerview.
Проблема с этим подходом : Слишком много времени и по мере увеличения числа групп время обработки также увеличивается.