728x90
🟦 좋아요 표시하기
▶️ 좋아요 표시하기
- User가 좋아요 표시한 회원들에 한해서 기록에 남길 용도
- 1) 사용자가 CardStackView에서 오른쪽 swiped 처리한 회원들에 한해서 ‘좋아요’ 목록에 추가하고자 한다.
- 2) 필요한 정보 : 현재 로그인한 User의 uid값.
- 이 uid 값의 하위에 ‘좋아요’ 대상 회원 uid 들을 기록할 예정이다.
🟧 MainActivity.kt
- 이 곳에서 cardStackView의 LayoutManager를 사용하여
재정의한 onCardSwiped() 메소드 내부에서 ‘right’ 방향에 대한 사용자 넘김 시,
userDataList에 해당 회원 uid 값만 담고, userLikeOtherUser() 메소드에 인수로 보낸다.
val cardStackView = findViewById<CardStackView>(R.id.cardStackView)
manager = CardStackLayoutManager(baseContext, object : CardStackListener {
override fun onCardDragging(direction: Direction?, ratio: Float) {
}
//이 부분에서 사용자가 넘기는 동작에 대한 이벤트 처리를 할 예정
override fun onCardSwiped(direction: Direction?) {
if(direction == Direction.Right) { //오른쪽 넘김 시
Toast.makeText(this@MainActivity, "Liked", Toast.LENGTH_LONG).show()
Log.d("test", usersDataList[userCount].uid.toString())
userLikeOtherUser(uid, usersDataList[userCount].uid.toString())
}
if(direction == Direction.Left) { //왼쪽 넘김 시
Toast.makeText(this@MainActivity, "Don't Liked", Toast.LENGTH_LONG).show()
}
userCount = userCount + 1
if(userCount == usersDataList.count()) { //모두 다 넘겼으면
getUserDataList(currentUserGender) //다시 처음부터 user 리스트 받아올 것
Toast.makeText(this@MainActivity, "다시 시작", Toast.LENGTH_LONG).show()
}
}
override fun onCardRewound() {
}
override fun onCardCanceled() {
}
override fun onCardAppeared(view: View?, position: Int) {
}
override fun onCardDisappeared(view: View?, position: Int) {
}
})
- userLikeOtherUser() 메소드 내부
- RealTimeDB 상에 userLike 데이터의 구조대로 저장하는 부분
//회원이 좋아요 한 회원들을 기록 List 에 담기
//-> 나의 uid, 대상이 되는 좋아요 대상 회원의 uid 값을 저장
private fun userLikeOtherUser(myUid : String, otherUid: String) {
//나의 uid를 상위에, 하위에는 내가 좋아요한 uid 회원들을 나열하는 구조로 DB에 저장
FirebaseRef.userLikeRef.child(myUid).child(otherUid).setValue("true")
}
728x90
'App(앱)_관련 공부 모음 > [Android 관련]' 카테고리의 다른 글
[Android] 문제 해결 부분 (0) | 2022.10.11 |
---|---|
📍[에러] v/fa inactivity disconnecting from the service (0) | 2022.09.24 |
[Android] 매칭 로직 생성. 반대 성별 User 데이터 가져오기 (0) | 2022.09.24 |
[Android] Glide 글라이드 사용해서 저장한 회원 이미지 불러오기 (0) | 2022.09.23 |
📍[에러] StorageException has occurred. User does not have permission to access this object. (0) | 2022.09.22 |