-
카테고리
-
세부 분야
모바일 앱 개발
-
해결 여부
미해결
베이스액티비티 사용, 룸 뷰모델 질문입니다
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를 (위에 코드 인스턴스받은 애) 뷰모델로 넘겨줘야되나요?
답변을 작성해보세요.
0
![오준석님의 프로필](https://cdn.inflearn.com/wp-content/uploads/avatars/3439/3439-bpfull.jpg?w=48)
오준석
지식공유자2020.09.25
사실 어떻게 해도 코드가 동작하는 것은 똑같지만 저라면 ViewModel로 옮길 것 같습니다.
액티비티에는 UI 관련 코드만 남기는게 좋을 것 같습니다. 지금은 DB와 결합되어 있어서 결합도를 낮추는 것이 좋아 보입니다.
결합도를 낮춰야 테스트하기도 편리하고요.
아키텍쳐 설계하는 가이드를 참고하시면 더 좋은 인사이트를 얻을 수 있을 것 같습니다.
답변 1