전체 글

    [Android] LiveData에 관해...

    LiveData :: 데이터를 저장하고 변화를 관찰할 수 있는 객체 특징 애플리케이션의 LifeCycle 인식 Activity, Fragment, Service, Component의 생명주기 따름 데이터의 변경을 활성화된 관찰자(Observer)를 통해 알림 LifeCycleOwner LiveData가 따르는 생명주기(Owner)의 생명주기가 STARTED, RESUME 상태인 경우만 Observer를 Active 상태로 간주한다. 코드를 통합해 Observer 객체에 UI를 업데이트할 수 있다. LifecycleOwner 구현체가 DESTROYED 상태가 되면 자동으로 Observer는 내부에서 제거 생명 주기에 따른 메모리 누수 걱정이 필요 없게 됨 LiveData는 특히 ViewModel에서 사용하..

    [Android] Jetpack에 관해...[ Databinding ]

    Databinding 선언적 형식으로 레이아웃 UI 구성요소를 앱의 데이터 소스와 결합할 수 있는 지원 라이브러리 Kotlin Extension으로 findViewById를 사용하지 않고, layout에 선언된 id를 가져올 수 있었다. 하지만 레이아웃에서 선언한 View가 코틀린 파일의 객체를 읽고 데이터를 출력해주지 않았다. 코틀린에서 직접 데이터를 View에 설정해줘야 했다. DataBinding은 코틀린에서 레이아웃을, 레이아웃에서 코틀린의 데이터를 직접 참조하는 라이브러리다. 코틀린에서 레이아웃 파일에 의존적인 부분이 많이 사라지고 MVVM 등의 패턴과 함께 사용할 수 있다. 화면에 보여줄 data class를 만든다음, layout.xml에서 data class에서 보여줄 fi..

    [Android] Jetpack에 관해... [ ViewModel ]

    Jetpack은 모든 Android 버전과 기기에서 일관되게 작동하는 코드 작성을 도와주는 라이브러리 모음이다. 젯팩은 4가지의 컴포넌트가 있다. 1. Architecture :: Data Binding, Lifecycle, LiveData, Navigation, Paging, Room, ViewModel, WorkManager 2. UI :: Animation & Transitions, Auto, TV & Wear, Emoji, Fragment, Layout, Palette 3. Foundation :: AppCompat, Android KTX, Multidex, Test 4. Behavior :: Download Manager, Media & Playback, Permissions, Notificat..