💡구성 변경 시 한 번의 데이터 변화를 관찰하기 위한 UI Event 활용법에 대하여 기록하였습니다. EventLiveData와 같은 Observable 타입을 활용하면 변경 사항을 구독하여 데이터를 지속적으로 노출하고 관찰할 수 있습니다.하지만 스낵바, 토스트, navigation 전환 등의 일회성 이벤트는 한 번의 데이터 변화만을 필요로 합니다.이 때 여러 번 노출되지 않도록 별도의 Event wrapper class를 활용하거나 SingleLiveData 타입 등을 활용할 수 있습니다.안드로이드에서 활용할 수 있는 방안은 SingleLiveData와 Event 패턴을 사용할 수 있습니다. LiveData를 이러한 환경에 활용할 경우 활성화될 때마다 데이터를 다시 전달하게 되며, 비효율적인 리소스를..
💡우아한테크코스 과정에서 학습한 MockWebServer에 대하여 기록하였습니다. MockWebServerMockWebServer는 네트워크 통신을 테스트할 때 가짜 서버를 만들어 HTTP 요청을 처리하고, 미리 정의된 응답을 반환하는 테스트 도구입니다.이 라이브러리는 OkHttp에서 제공하며 Retrofit, OkHttp 등의 네트워크 라이브러리와 함께 단위 테스트를 작성할 때 유용하게 사용됩니다.https://github.com/square/okhttp/tree/master/mockwebserver okhttp/mockwebserver at master · square/okhttpSquare’s meticulous HTTP client for the JVM, Android, and GraalVM. ..
💡안드로이드 네트워크 통신을 위한 HTTP 클라이언트 라이브러리에 대하여 학습한 내용을 기록하였습니다. 개요OkHttp와 Retrofit은 안드로이드에서 네트워크 통신을 쉽게 처리할 수 있도록 도와주는 HTTP 클라이언트 라이브러리입니다.둘 다 네트워크 요청을 관리하는 데 매우 유용하지만, Retrofit은 상위 레벨의 라이브러리로 OkHttp를 내부적으로 사용하며, 더 간단한 API를 제공하여 네트워크 작업을 쉽게 처리할 수 있도록 도와줍니다.OkHttp와 Retrofit을 학습하기 위해 필요한 개념을 함께 정리하였습니다.HTTPHypeText Transfer Protocol의 약자로, 인터넷 상에서 HTML 문서와 같은 데이터를 링크 기반으로 주고받기 위한 프로토콜(통신 규약)입니다.서버-킅라이언트..
💡CoroutineDispatcher에서 IO와 Default의 차이에 대해서 학습하였습니다. CoroutineDispatcher코루틴 디스패처는 코루틴을 스레드로 보내는 역할을 합니다.모든 작업은 스레드 위에서 실행되어야 하고, 코루틴 또안 작업이므로 스레드 위에서만 실행할 수 있습니다.Coroutine은 스레드풀을 만들고 Dispatcher는 Coroutine을 적절한 Thread에 보내 작업을 수행할 수 있도록 배분합니다.CoroutineDispatcher CoroutineDispatcherCoroutineDispatcher Base class to be extended by all coroutine dispatcher implementations. If kotlinx-coroutines is u..
💡Android Jetpack 구성요소인 LiveData에 대하여 기록하였습니다. LiveDataLiveData는 안드로이드 아키텍처 컴포넌트 중 하나로, 관찰 가능한 데이터 홀더 클래스입니다.UI와 데이터의 변경 사항을 반영하고, Observer에게 자동으로 알려줍니다.일반 클래스와 달리 생명 주기를 인식하여 Activity, Fragment, Service 등 다른 앱 구성요소의 생명 주기를 인식합니다.LiveData 개요 | Android Developers LiveData 개요 | Android DevelopersLiveData를 사용하여 수명 주기를 인식하는 방식으로 데이터를 처리합니다.developer.android.com생명주기 인식LiveData는 Activity, Fragment..
💡우아한테크코스에서 학습한 다양한 로딩 전략에 대하여 파악하고, 장단점을 분석하여 정리하였습니다! 데이터 로딩 전략안드로이드 애플리케이션에서 데이터 로딩 전략은 사용자의 경험을 개선하고 성능을 최적화하기 위해 중요하게 활용될 수 있습니다.데이터를 효율적으로 로드하고 관리하는 전략은 네트워크 요청, 데이터베이스 접근, UI 렌더링과 관련된 작업에서 큰 차이를 만들 수 있습니다.Google를 위한 페이지로 나누기 권장사항 | Google 검색 센터 | 문서 | Google for Developers Google를 위한 페이지로 나누기 권장사항 | Google 검색 센터 | 문서 | Google for Developers페이지로 나누기와 점진적 페이지 로드 사용 시 전자상거래 사이트의 색인을 ..