사용자들끼리 LIKE를 하게되면 매칭된 리스트를 보여줍니다.
틴더앱에서 사용되는 기능들을 비슷하게 만들어보는 과정이었습니다.
class DBKey {
companion object{
const val USERS = "Users"
const val LIKED_BY = "likedBy"
const val LIKE = "like"
const val DIS_LIKE = "disLike"
const val USER_ID = "userId"
const val NAME = "name"
const val MATCH = "match"
}
}
자주 사용되는 용어들은 class로 정리해주었습니다. 오타로 인해서 오류가 발생하는 경우를 줄일 수 있었습니다.
private fun saveMatchIfOtherUserLikedMe(otherUserId : String){
val otherUserDB = userDB.child(getCurrentUserID()).child(LIKED_BY).child(LIKE).child(otherUserId)
otherUserDB.addListenerForSingleValueEvent(object : ValueEventListener{
override fun onDataChange(snapshot: DataSnapshot) {
if(snapshot.value == true){
userDB.child(getCurrentUserID())
.child(LIKED_BY)
.child(MATCH)
.child(otherUserId)
.setValue(true)
userDB.child(otherUserId)
.child(LIKED_BY)
.child(MATCH)
.child(getCurrentUserID())
.setValue(true)
}
}
override fun onCancelled(error: DatabaseError) {
TODO("Not yet implemented")
}
})
}
패스트캠퍼스 바로가기 -> https://bit.ly/3FVdhDa
본 포스팅은 패스트캠퍼스 환급 챌린지 참여를 위해 작성되었습니다.
'패스트캠퍼스 챌린지' 카테고리의 다른 글
[패스트캠퍼스 챌린지 최종 후기] Android (0) | 2021.12.07 |
---|---|
[패스트캠퍼스 챌린지 30일차] Android 중고거래 앱 UI (0) | 2021.11.30 |
[패스트캠퍼스 챌린지 28일차] Android tinder DB 설정 (0) | 2021.11.28 |
[패스트캠퍼스 캠퍼스 27일차] Android tinder Facebook Login (0) | 2021.11.27 |
[패스트캠퍼스 챌린지 26일차] Android Tinder 앱 UI 및 로그인 기능 (0) | 2021.11.26 |