베이스액티비티 사용, 룸 뷰모델 질문입니다
144
작성한 질문수 12
예제를 참고하면서 적용해보고 있는데,
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와 결합되어 있어서 결합도를 낮추는 것이 좋아 보입니다.
결합도를 낮춰야 테스트하기도 편리하고요.
아키텍쳐 설계하는 가이드를 참고하시면 더 좋은 인사이트를 얻을 수 있을 것 같습니다.
Room_DB코틀린 버전에서 에러 나시는 분들
1
294
1
Room db kotlin 관련질문
0
282
2
Room db kotlin 강의중에서
0
420
3
공적 마스크 조회 앱 자바 버전 질문입니다.
0
388
1
RecyclerView Adapter에서 ViewModel 접근에 관하여 질문 드립니다.
0
1401
1
네비게이션 그래프
0
229
1
Repository에서 Error처리를 하고 싶은데 잘 모르겠습니다.
0
755
1
getAll을 직접부를 때 무한무프 질문있습니다.
0
209
1
라이브 데이터 + 데이터 바인딩 질문드립니다!
0
219
1
/?m=5000 에 대해서 질문드립니다.
0
228
2
@Inject lateinit var repository: MyRepository
0
285
1
이번편 강의의 3:52 부분까지 공부했는데 에러가 걸립니다
0
412
2
let이나 apply는 주로 어떤 상황에 사용하나요?
0
262
2
Call<StroeInfo> 를 StoreInfo로 바꾸는 부분 질문
0
240
1
Room DB 파일을 확인하고 싶어요.
0
2338
1
SavedStateHandle 앱 종료 시킨 후, 다시 열면 0으로 초기화 되어있습니다ㅠ
0
475
1
안녕하세요.
0
442
4
NullPointerException이 뜨는데 이것도 마스크 재고 API 중지 때문인가요
0
287
1
viewModel 질문 있습니다.
0
390
1
suspend
0
241
2
retrofit2에서 코루틴을 이용하는 이유가 무엇인가요?
1
273
2
UpdateItems 생성
0
149
1
질문있습니다.
1
234
3
질문있습니다!
0
268
1





