inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

모던 안드로이드 - 코틀린과 Jetpack 활용

[Kotlin] UI와 로직 분리 ViewModel

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

144

이재윤

작성한 질문수 12

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를 (위에 코드 인스턴스받은 애) 뷰모델로 넘겨줘야되나요?

android kotlin jetpack

답변 1

0

오준석

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

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

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

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

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

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