인프런 영문 브랜드 로고
인프런 영문 브랜드 로고

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

JI HUN LEE님의 프로필 이미지
JI HUN LEE

작성한 질문수

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

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

viewModel에서 searchBooks, saveBooks, deleteBooks 함수 관련 질문이 있습니다

해결된 질문

작성

·

170

1

retrofit 과 Room 둘다 자체적으로 비동기 처리를 해주기 때문에 Main Dispatcher(ViewModelScope.launch)에서 suspend function을 사용하더라도 main-safe 하다고 알고 있습니다.  

따라서 Dispatchers.IO 로 Dispatchers를 변경하지 않고 그냥 viewModelScope.launch { repository.fun}으로 함수를 선언 해주어도 될것같습니다 

참고)

https://sandn.tistory.com/94

https://developer.android.com/codelabs/kotlin-coroutines?hl=ko&return=https%3A%2F%2Fdeveloper.android.com%2Fcourses%2Fpathways%2Fandroid-coroutines%3Fhl%3Dko%23codelab-https%3A%2F%2Fdeveloper.android.com%2Fcodelabs%2Fkotlin-coroutines#8

 

 

답변 1

1

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

말씀하신것이 맞습니다.

제가 샘플앱을 제작할땐 viewmodelscope 의 dispatcher가 main이라 room의 정상 작동이 안되길래 굳이 io로 변경한건데 지금 다시 테스트해보니 dispatcher 변경없이도 정상작동하네요. 알려주셔서 감사합니다 :-D

JI HUN LEE님의 프로필 이미지
JI HUN LEE

작성한 질문수

질문하기