• 카테고리

    질문 & 답변
  • 세부 분야

    모바일 앱 개발

  • 해결 여부

    미해결

메세지 출력에 대해 질문입니다.

20.07.01 01:41 작성 조회수 208

0

덕분에 개인으로 진행하는 프로젝트에 채팅 기능을 추가하여 잘 만들어 가고 있는데요 한가지 궁금한게 두 사람끼리 채팅을 주고 받고난 후 대화방을 나가고 다시 들어가면 밑에처럼 '나'가 보낸 메세지를 전부 출력한 후 '바보' 가 보낸 메세지가 출력이 되는데 이를 수정하려면 어떤식으로 구현을 해야할까요?

답변 3

·

답변을 작성해보세요.

0

넵넵 순서대로 한번 가보겠습니다.

일단 db에는 내가 보낸 메세지와 바보가 보낸 메세지가 둘 다 들어있습니다.

- 내가 보낸거

- 바보 보낸거

- 내가 보낸거

- 바보 보낸거

이런 식으로 있습니다.

그러면 우선적으로 이 데이터를 받아오는 것 부터 합니다.

아래와 같은 부분에서 데이터를 받아왔습니다.

위의 이미지처럼 데이터를 firebase에서 뽑아오는데, 이 것을 가지고 list에 담는 작업을 진행해주시면 됩니다~

0

harry님의 프로필

harry

질문자

2020.07.02

안녕하세요 ' list = [내가 보낸 메세지 , 바보가 보낸 메세지, 내가 보낸 메세지, 바보가 보낸 메시지 ] ' 이쪽 구현을 어느 시점에서 어떻게 구현해야할 지 잘 감이 안오네요... 저는 onChildedAdded에서 val msg = model?.message.toString() 으로 메세지를 가져오고 이 값을 mutableListOf로 다음과 같이 추가해봤는데 잘 안되네요 혹시 좀 더 자세히 예시를 주실 수 있을까요?

0

안녕하세요

지금 firebase  database에 아래와 같이 데이터 구조가 되어 있을 겁니다

db

 - 내가 보낸 메세지 

 - 바보가 보낸 메세지

 - 내가 보낸 메세지 

 - 바보가 보낸 메시지

이런식으로 되어 있으면

저 db에 있는 정도를 모두 불러와서 recyclerview에 뿌려줄때 

아래의 애들을 list에 담아서

list = [내가 보낸 메세지 , 바보가 보낸 메세지, 내가 보낸 메세지, 바보가 보낸 메시지 ]

if 내가 보낸 메세지

     대화방 오른쪽에 표시

else 바보가 보낸 메시지

    대화방 왼쪽에 표시

이런 형태로 구현하시면 됩니다.

잘 이해가 되셨는지 모르겠네요... 혹시 어려우시면 또 질문 남겨주세요.