강의

멘토링

커뮤니티

Cộng đồng Hỏi & Đáp của Inflearn

Hình ảnh hồ sơ của kmj31341458
kmj31341458

câu hỏi đã được viết

Android hiện đại - Sử dụng Kotlin và Jetpack

[Kotlin] Cách sử dụng ViewModel với ktx (đã cập nhật)

viewModel

Viết

·

508

0

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

androidkotlinjetpack

Câu trả lời 3

1

survivalcoding님의 프로필 이미지
survivalcoding
Người chia sẻ kiến thức

불가능 합니다.

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

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

1

survivalcoding님의 프로필 이미지
survivalcoding
Người chia sẻ kiến thức

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

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

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

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

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

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

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

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

0

kmj3134님의 프로필 이미지
kmj3134
Người đặt câu hỏi

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

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

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

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

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

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

꼭 부탁드립니다.ㅜㅜ

Hình ảnh hồ sơ của kmj31341458
kmj31341458

câu hỏi đã được viết

Đặt câu hỏi