안드로이드 데이터 동기화 문제 질문드립니다.

조회수 1261회

최초 MainActivity를 골조로 2개의 탭을 가지고, 각각의 탭은 Fragment로 A fragment, B fragment 구현된 화면이 있습니다.

여기서 A fragment, B fragment 는 RecyclerView를 사용하고 있고, 각각 데이터 출력의 주제(ex : 최신순, 인기순)는 다르지만 동일한 ui의 ItemView를 가지고 있습니다. 여기서 A, B fragment에서는 중복된 데이터가 나올 수 있다는 가정을 합니다.

여기서 궁금한점이 다음과 같습니다.

  • A fragment의 리스트 아이템 뷰에서 좋아요를 눌렀을 때, B fragment에 A fragment와 동일한 아이템이 있다면 이를 동시에 데이터 동기화를 시키는 방법 (ex, 좋아요 눌렀을 경우 좋아요가 눌러짐)

  • B fragment의 리스트 아이템 뷰에서 좋아요를 눌렀을 때, A fragment에 B fragment에 동일한 아이템이 있다면 이를 동시에 데이터 동기화를 시키는 방법

  • A fragment 리스트 아이템 뷰를 클릭하여 뷰의 상세화면에 진입해 좋아요를 눌렀을 때, A fragment 와 B fragment 리스트에 해당 아이템 좋아요 데이터를 동기화 시키는 방법

  • B fragment 리스트 아이템 뷰를 클릭하여 뷰의 상세화면에 진입해 좋아요를 눌렀을 때, A fragment 와 B fragment 리스트에 해당 아이템 좋아요 데이터를 동기화 시키는 방법

데이터를 동기화 하는 방법이 궁금합니다. 기존에는 observer 패턴을 적용하여 key값을 기준으로 구독자를 등록하여 변경된 데이터가 발행 되었을 때, 업데이트된 모델을 구독자에게 호출하는 방식으로 사용하였는데,

뷰모델이 복잡해지다 보니 구현하는데 어려움이 있어 이 외에 다른 좋은 방법이 있는지 이렇게 여쭤 봅니다.

  • (•́ ✖ •̀)
    알 수 없는 사용자

답변을 하려면 로그인이 필요합니다.

프로그래머스 커뮤니티는 개발자들을 위한 Q&A 서비스입니다. 로그인해야 답변을 작성하실 수 있습니다.

(ಠ_ಠ)
(ಠ‿ಠ)