본문 바로가기

Android28

(번역) A safer way to collect flows from Android UIs 이 게시물은 Android Developers Medium에 작성되어있는 A safer way to collect flows from Android UIs를 번역 및 의역하여 정리한 게시물입니다. 잘못된 정보는 댓글로 첨언해주시면 감사하겠습니다. A safer way to collect flows from Android UIs Learn how the repeatOnLifecycle API protects you from wasting resources and why it’s a good default for flow collection in the UI layer. medium.com 안드로이드 UI에서 안전하게 flow 수집하기 안드로이드 앱에서, Kotlin flows는 일반적으로 UI Layer에.. 2022. 8. 31.
(번역) Migrating from LiveData to Kotlin's Flow 이 게시물은 Android Developers Medium에 작성되어있는 Migrating from LiveData to Kotlin's Flow를 번역 및 의역하여 정리한 게시물입니다. 잘못된 정보는 댓글로 첨언해주시면 감사하겠습니다. Migrating from LiveData to Kotlin’s Flow In this post you’ll learn how to expose Flows to a view, how to collect them, and how to fine-tune it to fit specific needs. medium.com LiveData에서 Kotlin Flow로 이전 LiveData는 2017년에 우리에게 필요한 것이었습니다. (Google I/O `17에서의 AAC 공개) .. 2022. 8. 31.
java.lang.IllegalStateException: Expected BEGIN_OBJECT but was STRING at line 1 column 1 path $ 최근 프로젝트를 진행하면서 네트워크 통신을 위해 Retrofit2 라이브러리와 비동기 처리를 지원하는 Coroutine을 함께 사용하는 경우가 많아지고 있다. 통신 후 받아오는 response의 status가 오직 200인 경우에는 크게 상관없지만 현재 진행 중인 프로젝트에서는 200, 401, 409 등 다양한 status의 response가 상황에 따라 넘어오게 된다. 이번 포스팅은 다양한 HTTP Status 처리를 위해 리팩토링 도중 마주친 에러에 대한 포스팅이다. 1. 기존 코드 다양한 status 처리를 위해 ResultWrapper라는 sealed class를 사용하여 통신이 성공적 (Success)인지, 네트워크 통신 에러 (NetworkError)인지, 일반적인 status 에러 (Gen.. 2022. 3. 14.
[ViewModel] ViewModel 시작하기 1. ViewModel 개요 ViewModel은 수명주기를 고려하여 UI 관련 데이터를 저장하고 관리하도록 설계되었다. 특히, 화면 회전과 같은 구성 변경에도 데이터 유지가 가능하다. 1.1. 기존의 단점들 단순한 데이터의 경우 Activity는 onSavedState()를 사용해 onCreate()의 Bundle에서 데이터를 복원할 수 있었다. 하지만, 이 경우는 Bitmap과 같은 대량의 데이터에는 적합하지 않다. View에서는 비동기 호출을 자주 한다. View는 비동기 호출을 관리하며 많은 유지관리가 필요하고, 화면 회전과 같은 구성 변경 시 개체가 다시 생성되는 경우 이미 수행한 호출을 다시 호출하기 때문에 리소스 낭비가 생기게 된다. View는 UI 표시, 사용자 상호작용, 권한 요청과 같은 .. 2022. 3. 11.