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

jminie님의 프로필 이미지
jminie

작성한 질문수

냉동코더의 알기 쉬운 Modern Android Development 입문

Practice5B-Room DB를 UI와 연동하기 (RecyclerView, ClickListener, SimpleCallback)

Room과 Flow의 관계

작성

·

184

0

책을 즐겨찾기를 추가하고 즐겨찾기 탭으로 갔을때 즐겨찾기 했던 책이 자동으로 Recyclerview에 추가되어있는 모습을 볼 수 있는데 이는 Flow, 즉 데이터 스트림을 사용했기 때문인거죠??

즉 FavoriteFragment의 onViewCreated에 있는 함수가 collect 트리거를 작동시키면 자동으로 Room에 추가된 데이터가 RecyclerView에 추가되는 형식이라고 이해했습니다.

근데 앱을 조금 변경하여 특정버튼을 눌러야 DB에서 데이터를 가져오는 로직으로 (즉 버튼을 눌러야 ViewModel의 getFavoriteBook을 호출하는 형식) 변경하였는데 버튼을 누르지 않아도 알아서 ViewModel에서 즐겨찾기 데이터가 갱신이 되더라고요...ㅇㅅㅇ 분명 collect 트리거를 작동시키지 않았는데요

답변 1

0

냉동코더님의 프로필 이미지
냉동코더
지식공유자

FavoriteFragment의 Flow는 라이프사이클과 연동되어 있기 때문에 라이프 사이클과 관계없이 버튼을 눌렀을 때 가져오게 하려면 SettingFragment의 datastore 사용방식을 참고하시는 게 좋을 것 같습니다.

jminie님의 프로필 이미지
jminie

작성한 질문수

질문하기