
안드로이드에서 Fragment가 서로 같은 ViewModel을 공유하기도 하며, Configure Change가 발생해도 ViewModel을 유지합니다. ViewModelProvider를 사용하기 때문에 가능한데 어떻게 동작하는지 확인할 것입니다. 2021.12.06 - [Android/Lifecycle] - Android ViewModel - Activity가 ViewModel을 유지하는 방법 2021.12.29 - [Android/Lifecycle] - Android ViewModel - Fragment가 ViewModel을 유지하는 방법 ViewModelProvider 생성 public constructor( owner: ViewModelStoreOwner ) : this(owner.viewMode..

private val mainViewModel by lazy { ViewModelProvider(requireActivity()).get(MainViewModel::class.java) } 기본적으로 ViewModel을 생성할 때 ViewModelProvider를 생성하고 get()함수를 통해 ViewModel을 얻습니다. (ViewModel을 직접 생성하는 방법은 잘못된 사용법입니다.) public open class ViewModelProvider( private val store: ViewModelStore, private val factory: Factory ) public constructor( owner: ViewModelStoreOwner ) : this(owner.viewModelStore..

ViewModel ViewModel은 UI Data를 저장하고 관리하기 위해 설계되었습니다. 안드로이드 특성상 프레임워크가 UI Controller의 생명주기를 관리하기 때문에 개발자 입장에서 생명주기를 고려하여 작업을 진행해야 하며 이는 추가적인 코드를 요구합니다. 또한 UI Controller의 구조가 커지면서 유지 보수와 테스트의 불편함을 느낄 수 있습니다. ViewModel은 UI Controller가 데이터 표현, 사용자 작업에 반응, System Call(권한 요청, System Service 등)에 집중할 수 있도록 도와줍니다. 생명주기 안드로이드 프레임워크 특성상 Configure Change(화면 회전, 언어 변경 등)가 일어나면 Activity를 destroy하고 create합니다. 이..
- Total
- Today
- Yesterday
- clean code
- git
- Coroutine
- DSL
- Flutter
- Kotlin
- observable
- ViewModelStoreOwner
- ConcatAdapter.Config
- 함수
- Widget
- null
- 보이스카우트 규칙
- 클린 코드
- DART
- Flowable
- ViewModelProvider
- 클린코드
- isActive
- CancellationException
- gradle
- commit
- 연산자
- Exception
- rxjava
- Android
- ConcatAdapter
- 코루틴
- TDD
- viewmodel
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 |