Дочерние значения базы данных Firebase равны нулю при получении - PullRequest
0 голосов
/ 24 сентября 2018

Я пытаюсь получить значения базы данных, но данные в дочернем элементе, которые я выбрал с помощью uID, равны нулю.

enter image description here

Вот мой код-

   Intent intent = getIntent();
                        Bundle extras = intent.getExtras();
                        currentUser = extras.getString("currentUser");
                        selectedUser = extras.getString("selectedUser");
                        uID = extras.getString("uID");
                mFirebaseDatabase = FirebaseDatabase.getInstance();


            mDbReference = FirebaseDatabase.getInstance().getReference();
                final DatabaseReference uidRef = mDbReference.child("users").child(uID);

                ValueEventListener valueEventListener = new ValueEventListener() {
             @Override
                    public void onDataChange(DataSnapshot dataSnapshot) {
                        for (DataSnapshot ds : dataSnapshot.getChildren()) {
                DataSnapshot firstChild = ds.child(ChatMessageModel.MSG_TYPE_RECEIVED);
                for (DataSnapshot secondChild : firstChild.getChildren()) {
                    ChatMessageModel chatMessageModel = secondChild.getValue(ChatMessageModel.class);
                    messageList.add(chatMessageModel);
                    for (int i = 0; i < messageList.size(); i++) {
                        Log.d(TAG, "All received messages : " + messageList.get(i).getMsgContent());

                    }
                }

            }
                            chatAppMsgAdapter.notifyDataSetChanged();
                        }

                        @Override
                        public void onCancelled(@NonNull DatabaseError databaseError) {
                            Log.d(TAG, databaseError.getMessage());
                        }
                    };
                    uidRef.addListenerForSingleValueEvent(valueEventListener);

// и вот моя база данных,где UID текущего пользователя.// ответ должен быть -

  "users": {
           "User2" : {
  "MSG_TYPE_RECEIVED" : {
    "-LNEG2DhamuO6hAvZUp9" : {
      "msgContent" : "hello",
      "msgType" : "MSG_TYPE_RECEIVED"
    },
    "-LNEG8hxAcXp05g5RYly" : {
      "msgContent" : "Hi fi",
      "msgType" : "MSG_TYPE_RECEIVED"
    }
  }
}

}

1 Ответ

0 голосов
/ 25 сентября 2018

как вы поняли из вашего комментария, база данных, подобная этой

"users": {
           "User2" : {
  "MSG_TYPE_RECEIVED" : {
    "-LNEG2DhamuO6hAvZUp9" : {
      "msgContent" : "hello",
      "msgType" : "MSG_TYPE_RECEIVED"
    },
    "-LNEG8hxAcXp05g5RYly" : {
      "msgContent" : "Hi fi",
      "msgType" : "MSG_TYPE_RECEIVED"
    }
  }

, измените вашу базу данных на

"users": {
           "u0TddklO8BXKCRHp4UFXEvmPS1H3" : {
  "MSG_TYPE_RECEIVED" : {
    "-LNEG2DhamuO6hAvZUp9" : {
      "msgContent" : "hello",
      "msgType" : "MSG_TYPE_RECEIVED"
    },
    "-LNEG8hxAcXp05g5RYly" : {
      "msgContent" : "Hi fi",
      "msgType" : "MSG_TYPE_RECEIVED"
    }
  }
}
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...