인프런 커뮤니티 질문&답변

ggp03016님의 프로필 이미지
ggp03016

작성한 질문수

[초중급편] 안드로이드 데이팅 앱 만들기(Android Kotlin)

유저 리스트뷰 클릭 시, 매칭된 회원인지 확인하기 로직 수정

'나와 매칭이 되었는가에 대한 로직' 질문

작성

·

196

0

- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요!
- 먼저 유사한 질문이 있었는지 검색해보세요.
- 서로 예의를 지키며 존중하는 문화를 만들어가요.
- 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요.
 
선생님 영상 잘 보고 있습니다.
다름이 아니라, '유저 리스트뷰 클릭 시, 매칭된 회원인지 확인하기 로직 수정' 2분짜리 영상에서 2분 18초 에

for (dataModel in dataSnapshot.children){

if(likeUserKey.equals(uid)){
Toast.
} else {
Toast.
}
}

이 로직을

var check = false;
for (data in snapshot.children) {
val likeUid = data.key.toString()
if (likeUid == FirebaseAuthUtils.getUid()) {
Toast.makeText(baseContext, "나와 매칭된 회원입니당 !!", Toast.LENGTH_SHORT)
.show()
check = true;
break;
}
}
if (!check) {
Toast.makeText(baseContext, "나와 매칭된 회원이 아닙니다 ㅠㅠ", Toast.LENGTH_SHORT)
.show()
likeToken.setBackgroundColor(Color.RED)
}

이와 같이 바꿔야 되지 않는가해서 질문드립니당

답변 1

0

개복치개발자님의 프로필 이미지
개복치개발자
지식공유자

안녕하세요?


저의 의도를 한번 설명드리면, 유저들의 정보를 불러오는데

 

불러오는 유저들의 정보들 중 불러오는 유저(유저1, 유저2, 유저3)과 같은 사람들의 정보 중에

이 사람들이 좋아요를 누른 사람 중에 나의 uid가 있는가를 기준으로 매칭을 했습니다.

 

위의 올려주신 코드가 잘 이해가 가지 않는데, 한번 설명해주시면 제 코드와 비교해보겠습니다 :)

 

사실 어떻게든 동작하기만 하면 되기 때문에, 크게 신경쓰지 않고 편하신 대로 하셔도 무관합니다.

ggp03016님의 프로필 이미지
ggp03016
질문자

아 네 맞습니다. 이후의 동작과는 무관하지만
Toast Message가 올바르게 동작하지 않아서 헷갈리실 수 있을까 해서 혹시나해서요 !

의도 하신대로 '좋아요 누른 사람들 중에 나의 uid가 있는가' 를 조회하는 것 같은데요.
한번의 선형 탐색(for문)으로 나의 uid를 찾았다면 함께 토스트 메시지가 나가는 것은 맞는데요 탐색이 종료되진 않습니다.  그 이후든 이전이든 계속 탐색을하면서 나의 uid가 아닌경우(else)를 계속 마주치면서 못찾았다는 ToastMessage를 보내는 로직이여서 문의드렸습니다 !

개복치개발자님의 프로필 이미지
개복치개발자
지식공유자

앗 넵 지적해주신 사항이 맞습니다.

 

한번만 못 찾았다라고 변경해주셔도 상관없습니다. :)

실제 사용화 서비스가 아니기 때문에, 디테일하게 로직을 작성하지 못한 부분이 있는데, 이 부분에서는 ggp님께서 편하신 대로 강의를 참고해서 로직을 변경해주셔도 됩니다~

 

수강해주셔서 감사합니다~

ggp03016님의 프로필 이미지
ggp03016
질문자

넵 감사합니다 강의 잘 듣고있습니당 ~!

ggp03016님의 프로필 이미지
ggp03016

작성한 질문수

질문하기