inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

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

[Kotlin] ktx를 사용한 ViewModel 사용법 (업데이트)

viewModel

515

kmj3134

작성한 질문수 5

0

강의에서 viewModel을 사용하는 것과
MVVM패턴으로 프로그래밍하는것이 다른건가요?

android kotlin jetpack

답변 3

1

오준석

불가능 합니다.

안드로이드의 ViewModel은 하나의 액티비티와 생명을 같이합니다.

하려고 하시는 것의 형태를 하나의 액티비티에 여러 프래그먼트가 전환되는 형태로 하시면 프래그먼트끼리 하나의 ViewModel을 공유할 수 있습니다.

1

오준석

구글에서 제공하는 ViewModel 클래스 없이 MVVM을 구현할 수도 있겠지만 생명주기 때문에 어렵습니다.

그래서 강의에서 사용하는 패턴을 안드로이드에 특화된 MVVM이라고 할 수 있습니다.

구글에서는 Android Architecture Component 등의 용어를 사용하고 있습니다.

즉, 안드로이드에서의 MVVM은 이 강의에서 사용하고 있는 패턴을 얘기한다고 보시면 되고요.

제대로 구현한다면 View - ViewModel - Repository 구조의 구성으로 작성하면 됩니다.

그런데 MS가 처음 정의한 방법과 맞지 않다라고 얘기한다면 논의는 한도끝도 없습니다.

안드로이드의 아키텍쳐에 대한 이야기는 공식문서에도 정리되어 있고 최근에 한글화되었으니 읽어보시면 좋을 듯 합니다.

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

0

kmj3134

안녕하세요, 새로운 빌문인데 현재 인프런 질문에서 내용을 적을수 없어 답글란에 질문 남깁니다.

두 액티비티에서 하나의 뷰모델을 사용해 뷰모델의 데이터를 공유(?) 하여 사용하고싶은데

액티비티가 생성될때마다 새로운 뷰모델이 생성되어 뷰모델상의 데이터가 리셋됩니다...

(데이터바인딩을 통해 뷰모델의 데이터를 뿌려주고있습니다)

단순하게 액티비티전환할때 번들/intent 를 사용해 뷰모델을 넘겨볼까했지만, 맞지않은 형식이라서 안되네요.. ㅜㅜ

ex) 액티비티 1 , 2 가 있을때, 액티비티 2에서 가공한 데이터를 액티비티1로 왔을때 뿌려주고싶습니다.

꼭 부탁드립니다.ㅜㅜ

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

272

2

UpdateItems 생성

0

147

1

질문있습니다.

1

233

3

질문있습니다!

0

268

1