Home
Yoon-Min
Cancel

Android - 내부 동작으로 살펴보는 LiveData 값 설정부터 전달까지 과정

사진: Unsplash의Jr Korpa Intro 안드로이드의 LiveData 라이브러리를 사용하다 보면 라이브 데이터를 구독하고 있는 컴포넌트가 어떻게 값 변경에 대한 알림을 받는지 궁금할 수 있습니다. 저도 해당 라이브러리를 사용하면서 이 부분이 궁금했습니다. 그래서 라이브 데이터의 내부 코드를 분석하여 이를 정리하고자 합니다. ​ Obse...

Android - 내부 동작으로 살펴보는 LiveData의 생명주기(Lifecycle) 인식 원리

Unsplash의Nitish Meena Intro LiveData 는 관찰 가능한 UI 데이터 홀더 클래스입니다. 라이브 데이터는 안드로이드의 수명주기를 인식하여 수명주기에 맞춰 동작한다는 특징을 가지고 있어서 UI Layer에서 UI 데이터를 보유하는 역할을 수행합니다. 그런데 여기서 한 가지 궁금증이 생깁니다. 라이브 데이터가 안드로이드의 생...

Android - 화면 구성 변환에도 ViewModel 데이터가 보존될 수 있는 이유

Intro 뷰모델은 ViewModelStoreOwner 가 사라질 때까지 메모리에 남아 있습니다. 덕분에 액티비티의 화면 구성 변경 후에도 뷰모델을 유지할 수 있습니다. 뷰모델이 파괴되는 조건은 다음과 같이 세 가지가 있습니다. 액티비티가 완료될 때 -> onDestroy 프래그먼트가 분리될 때 네비게이션 백 스택에서 삭제될 ...

Google I/O Android Korea 2024 후기

처음 가보는 Android 행사 여태까지 Android를 다루는 행사에 참여해본 적이 없었는데 Google I/O를 통해 새로운 경험을 하게 되어서 매우 즐거웠다. 안드로이드 공부를 오랜만에 다시 시작한 탓에 내외부로 바뀐 것들에 대한 파악이 필요했었는데 마침 GDG에서 이를 알려주는 행사를 열어서 바로 찾아가게 된 것이 이번 행사의 참가 계기가...

Android - ViewModel 생성과 반환

Intro ViewModel 은 안드로이드의 UI 층을 구현하는 데 많은 도움을 주는 Jetpack 라이브러리입니다. 화면 구성의 변경이나 여러 프래그먼트에서 UI 상태 데이터를 보존하고 공유할 수 있다는 장점 덕분에 많은 사람들이 사용하고 있고, 저 역시 뷰모델을 애용하고 있습니다. 그러나 지금까지 뷰모델의 사용 방법과 역할만 숙지한 탓에 최...

Kotlin Function (2/2) - 고차 함수와 inline

Contents 함수 타입과 함수 리터럴 1-1. Intro 1-2. 코틀린 함수 타입 1-3. 함수 리터럴 기반의 람다 표현식과 익명 함수 1-4. 람다 함수와 익명 함수의 반환 1-5. 정리 1-6. 참조 고차 함수와 inline 2-1. Conte...

Kotlin Function (1/2) - 함수 타입과 함수 리터럴

Contents 함수 타입과 함수 리터럴 1-1. Intro 1-2. 코틀린 함수 타입 1-3. 함수 리터럴 기반의 람다 표현식과 익명 함수 1-4. 람다 함수와 익명 함수의 반환 1-5. 정리 1-6. 참조 고차 함수와 inline 2-1. Conte...

Android Retrofit - 인스턴스 생성과 API Interface의 동작 과정

Retrofit version - 2.9.0 Retrofit Intro A type-safe HTTP client for Android and Java - Square - 레트로핏은 Android, Java에서 사용되는 타입 세이프한 Http Client이며 안드로이드 애플리케이션에서 네트워크 요청 및 응답 처리에 대한 과정을 단순화시...

Kotlin - ArrayList와 MutableList, 무엇을 써야 할까?

Collection Kotlin Collection “The Kotlin Standard Library provides a comprehensive set of tools for managing collections – groups of a variable number of items (possibly zero) that are signi...

Goodbye, 2023! Welcome, 2024! - [2023년 개발 회고]

2024년을 맞이하며 눈 깜짝할 사이에 2023년이 끝났다. 2023년은 여러 이벤트가 겹치면서 다양한 경험을 할 수 있었다. 사용하는 기술 스택에 대한 이해가 이전보다 나아졌고 무엇보다도 확실한 협업 경험을 통해 협업 능력이 높아진 부분에 대해서 상당히 만족하는 한 해였던 것 같다. 이런 소중한 경험들을 머릿속에 두었다간 금방 잊힐 게 눈에 보여...