🤍 전 강의 25% 할인 중 🤍

2024년 상반기를 돌아보고 하반기에도 함께 성장해요!
인프런이 준비한 25% 할인 받으러 가기 >>

  • 카테고리

    질문 & 답변
  • 세부 분야

    모바일 앱 개발

  • 해결 여부

    미해결

베이스액티비티 사용, 룸 뷰모델 질문입니다

20.09.25 13:54 작성 조회수 80

0

예제를 참고하면서 적용해보고 있는데,

DBManager이라는 클래스를 만들어서, 이렇게 

룸세팅을해주고 

fun getInstance(context: Context): DBManager? {
if (INSTANCE == null) {
synchronized(DBManager::class) {
INSTANCE = Room.databaseBuilder(context.applicationContext, DBManager::class.java, "rooms_list.db").build()
}
}
return INSTANCE
}

베이스 액티비티를 만들어서 여기서 인스턴스를 가져와서 사용중인데

dbManager = DBManager.getInstance(this) ?: return

이렇게 베이스 액티비티를 여러개의 액티비티에서 상속받아서 사용중입니다

viewmodel을 만들어서 viewmodel내에서 insert , select같은 쿼리를 처리하려고하는데 (예제처럼용)

이경우에는 룸세팅을 영상처럼 뷰모델안에다가 해줘야될까요? 아니면 상속받은액티비티들에서 dbManager를 (위에 코드 인스턴스받은 애) 뷰모델로 넘겨줘야되나요?

답변 1

답변을 작성해보세요.

0

사실 어떻게 해도 코드가 동작하는 것은 똑같지만 저라면 ViewModel로 옮길 것 같습니다.

액티비티에는 UI 관련 코드만 남기는게 좋을 것 같습니다. 지금은 DB와 결합되어 있어서 결합도를 낮추는 것이 좋아 보입니다.

결합도를 낮춰야 테스트하기도 편리하고요.

아키텍쳐 설계하는 가이드를 참고하시면 더 좋은 인사이트를 얻을 수 있을 것 같습니다.

https://developer.android.com/jetpack/guide

채널톡 아이콘