SavedStateHandle을 다루는 ViewModel을 위한 Dagger 설정하기

SavedStateHandle을 다루는 ViewModel을 위한 Dagger 설정하기 Warning : 이 포스팅은 ViewModel과 Dagger에 대한 내용을 다루고 있지만, ViewModel과 Dagger에 대해서는 설명하고 있지 않습니다.  자세한 내용은 이전 포스팅을 참고해주세요. Dagger2를 알아보자 AssistedInject란 무엇인가? ViewModel 초보를 위한 가이드 SavedStateHandle과 함께 ViewModel의 상태를 저장하자 예제코드 다운로드 build.gradle에 의존성 설정하기 //SavedState implementation “androidx.lifecycle:lifecycle-viewmodel-savedstate:2.2.0” //Dagger2 implementation 더보기…

Dagger를 돕는 AssitedInject 무엇인가?

Warning : 이 포스팅은 Dagger2에 대한 이해가 필요하며, Dagger2에 대해서는 다루지 않고 있습니다. Dagger2에 대한 내용은 Dagger2를 알아보자편을 참조해주세요. AssistedInject란 무엇인가? Square에서 만든 수동 의존성 주입도구로 Dagger2와 함께 사용된다. 팩토리패턴(Factory Pattern)은 어떤 오브젝트를 생성하기 위한 패턴으로 매개 변수화 및 종속성을 결합하는 객체를 만들기 위해 잘 설정된 패턴이다. 팩토리는 불안정할 수 더보기…

글쓴이 Charlezz,

Dagger에 손가락 베이지 않도록 Hilt 등장

Dagger를 도와줄 Hilt라이브러리가 출시되었다 (아직 Alpha단계) https://proandroiddev.com/hilt-first-impressions-31f55cf57b3f 위의 아티클을 읽고 느낀 Hilt의 장단점을 정리해보았다. 힐트의 장점 힐트는 선택적으로 적용하는 라이브러리, Dagger 조작에 제한을 두지만 많은 보일러플레이트 코드를 제거할 수 있음 힐트는 컴포넌트 정의 필요 없음. 이미 정의된 컴포넌트 사용. 대신에 @InstallIn과 @HiltAndroidApp 어노테이션 사용 모듈에 @InstallIn을 추가적으로 더하고 어느 컴포넌트에 더보기…

글쓴이 Charlezz,

보일러플레이트 코드란?(Boilerplate code)

보일러플레이트란? 컴퓨터 프로그래밍에서 보일러플레이트 또는 보일러플레이트 코드라고 부르는 것은 최소한의 변경으로 여러곳에서 재사용되며, 반복적으로 비슷한 형태를 띄는 코드를 말한다. 보일러플레이트의 어원 보일러플레이트 코드의 어원은 신문사업에서 나왔다. 1890년대에 광고나 컬럼과 같이 계속 사용되는 텍스트 인쇄판은 부드러운 납 대신 강철로 찍기 시작했다. 이를 Boilerplate라고 불렀다. 1950년대까지 수천 개의 신문이 미국 최대 공급업체인 더보기…

SavedStateHandle과 함께 ViewModel의 상태를 저장하자

UI 상태 저장 및 복원의 필요성 안드로이드의 Activity는 시스템의 요청에 의해 언제든지 소멸될 수 있다. 사용자는 UI상태가 동일하게 유지되길 기대하기 때문에 Activity의 상태를 적시에 보존하고 복원하는 작업이 필요하다.  화면 회전 또는 멀티 윈도우 모드로 전환하는 것과 같이 Configuration이 변경되어도 사용자는 Activity의 UI상태가 그대로 유지하기를 기대한다. Activity는 Configuration이 변경되면 기존 Activity를 더보기…

ViewModel이란 무엇인가? ViewModel 초보를 위한 가이드

ViewModel이란? ViewModel이란 Android Jepack의 구성요소 중 하나로, 본래 ViewModel이란 이름은 소프트웨어 개발 디자인 패턴중 하나인 MVVM(Model – View – ViewModel) 디자인 패턴으로부터 파생되었다. MVVM의 관점에서 부르는 ViewModel과 Android Jetpack에 포함된 ViewModel 클래스를 구분하기 위해 흔히 Android Jetpack에 포함된 ViewModel을 Android Architecture ViewModel의 약자인 AAC ViewModel이라고 부르기도 한다. ViewModel은 왜 필요하지? 더보기…