Firebase: Как получить UID другого пользователя? - PullRequest
0 голосов
/ 22 сентября 2018

Я создал приложение для чата только для себя и своего друга.

Когда я отправляю им сообщение, я хочу сохранить их Uid.

Как мне это сделать?Также отметьте, нужно ли восстанавливать всю структуру.

Я думал о String[] uidList = DatabaseReference.child("Users").getKey();

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

Ниже показано, как я хочу, чтобы структура моей базы данных Firebase выглядела следующим образом:

app-id:

    Users:
        my_user_id:
            name:"Me"
            last_seen:"MyLastSeenTimeValue"

        friend_user_id:
            name:"Friend"
            last_seen:"FriendLastSeenTimeValue"

    Messages:

        my_user_id:
            friend_user_id:(How to retrieve this ?)
                random_msg_id_1:
                    text:"Hi"
                    msg_type:"text"
                    time:"msgTime"

                random_msg_id_2:
                    text:"Hello"
                    msg_type:"text"
                    time:"msgTime"

        friend_user_id:(How to retrieve this ?)
            my_user_id:
                random_msg_id_1:
                    text:"Hi"
                    msg_type:"text"
                    time:"msgTime"

                random_msg_id_2:
                    text:"Hello"
                    msg_type:"text"
                    time:"msgTime"

1 Ответ

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

Не уверен насчет вывода Json, но предположительно, это должно быть что-то вроде следующих кодов:

FirebaseDatabase database = FirebaseDatabase.getInstance();
DatabaseReference myRef = database.getReference();
       myRef.child("Messages").child("my_user_id").addValueEventListener(new ValueEventListener() {
                     @Override
                     public void onDataChange(DataSnapshot dataSnapshot) {

                        for(DataSnapshot item_snapshot:dataSnapshot.getChildren()) {

                        // get the data here and loop through the friend_user_id to get the nodes like following
                        Log.d("User id ", item_snapshot.toString());

                    }
                  }

            @Override
             public void onCancelled(DatabaseError databaseError) {
                     // handle error
              }
});
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...