База данных Firebase странный порядок - PullRequest
0 голосов
/ 16 мая 2018

У меня есть эта "чат-система", которую я сделал с базой данных Firebase.

Чтобы получить сообщения в комнате, я делаю Query с orderByChild(timestamp), затем меняю порядок в обратном порядке, чтобы я мог получить «новейшую» последнюю (потому что я начинаю читать снизу).

    messageList = new ArrayList<>();
    final Query query = chatRef_1.orderByChild("
            query.addChildEventListener(new ChildEventListener() {
                @Override
                public void onChildAdded(DataSnapshot dataSnapshot, String s) {
                    messageList.add(dataSnapshot.getValue(ChatMessage.class));
                    updateRecyclerView();
                }

                @Override
                public void onChildChanged(DataSnapshot dataSnapshot, String s) {

                }

                @Override
                public void onChildRemoved(DataSnapshot dataSnapshot) {
                    messageList.remove(dataSnapshot.getValue(ChatMessage.class));
                    updateRecyclerView();

                }

                @Override
                public void onChildMoved(DataSnapshot dataSnapshot, String s) {

                }

                @Override
                public void onCancelled(DatabaseError databaseError) {

                }
            });

Но тогда я получаю этот результат

image

  • Это происходит только с ChildEventListener
  • Метка времени выполняется сервером
  • У кого-нибудь есть идея, что это может быть?

UPDATE Вот структура базы данных

image

  • Ящик »» Объект (Сообщение)
  • Зеленый »» MessageID
  • Синий »» RoomID
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...