[안드로이드] 좋아요기능 구현하기(1)

littlecsh·2024년 1월 24일

앱개발

목록 보기
12/16

오늘은 앱 개발시 많이 사용하게 될 좋아요 기능을 구현해보려고 한다.

이번글에서는 구현하기 전 생각해보는 단계로 경우의 수를 따져보도록 하겠다.

인텐트를 통한 액티비티 전환으로 메인페이지와 디테일페이지를 오갈거고

메인페이지에서 좋아요 클릭이 아닌 디테일페이지에서 좋아요 클릭 -> 메인페이지에 반영(하트색, 좋아요수)하도록 하겠다.

때문에 메인페이지에서 디테일페이지 호출시 activityResultLauncher로 디테일페이지에서의 하트의 결과를 받아와야 한다.

경우의 수

메인페이지-디테일페이지-메인페이지 순으로 하트가 변화하면서 따져야 할 경우의 수가 있다.

무턱대고 구현을 했다가 의도한 대로 하트와 숫자가 변하지 않았어서 정리해두려고 한다.

islike변수로 좋아요 여부를 체크하기로 했을때

islike가 true이면 좋아요한 상태, false으면 좋아요하지 않은 상태를 말한다.

메인페이지에서 디테일페이지로 전환될때는 메인페이지의 하트를 그대로 반영하면 된다.

따져야할 경우의 수는 그 다음에서 생긴다.

하트를 누르느냐 아니냐의 차이로 메인페이지로 돌아왔을때 하트와 숫자가 바뀌게 된다.

하나하나 따져보면,

첫번째. 빈하트 10에서 클릭을 하면 색하트에 11로 바뀌어야 한다.
두번째. 빈하트 10에서 클릭을 하지 않으면 빈하트 10으로 유지된다.
세번째. 색하트 10에서 클릭을 하지 않으면 색하트 10으로 유지된다.
네번째. 색하트 10에서 클릭을 하면 빈하트 9로 바뀌어야 한다.

이걸 islike로 바꿔보면,

1 . islike=false -(false)-> islike=false -(true)-> islike=true
2 . islike=false -(false)-> islike=false -(false)-> islike=false
3 . islike=true -(true)-> islike=true -(true)-> islike=true
4 . islike=true -(true)-> islike=true -(false)-> islike=false

이 경우의 수를 잘 생각해 보고 메인페이지에서 좋아요기능 코드를 작성하면 된다.

다음글에서는 실제 코드로 실습해보도록 하겠다.

profile
앱개발 튜토리얼

0개의 댓글