본문 바로가기
반응형

Development/Android44

Android - ProcessLifecycleOwner 로 앱의 Foreground/Background 상태 처리하기 간혹, 앱이 Foreground인지 Background 상태인지에 따라 처리를 해 주어야할 때가 있다. 이를테면 Background에 빠졌을 때 UI와 관련된 작업을 멈춘다던지, 다시 Foreground로 돌아왔을 때 어떤 작업을 활성화해준다던지 등이 있을 수 있다. 이럴때, 특정 Activity/Fragment에서의 처리라면 해당 화면의 Lifecycle의 이벤트를 수신해서 처리할 수 있지만, 화면 레벨이 아닌 앱 레벨에서의 처리가 필요할때도 있다. 이럴때 마다 모든 Activity/Fragment의 이벤트를 수신받아 처리하기엔 과한 부분이 있다. 이를 해결하기 위해 ProcessLifecycleOwner를 사용할 수 있다. https://developer.android.com/reference/and.. 2023. 6. 19.
Android Compose - LazyColumn의 최하단 스크롤 이벤트 감지하기 안드로이드 앱을 개발하면서 스크롤이 있는 레이아웃 요소는 흔하게 사용된다. 예를 들자면 ScrollView, RecyclerView와 같은 것들이다. 스크롤이 있는 레이아웃 요소를 사용할 때 스크롤에 대한 이벤트 처리, 특히 최하단에 도달했는지 여부를 확인해야하는 경우가 종종 있다. 이를테면 데이터가 페이징되어 있을 때다. 스크롤이 최하단에 도달했을 때 API 등을 호출하여 추가적인 데이터를 로드하고 스크롤 레이아웃에 아이템을 추가하는 것과 같은 것이다. Android Compose는 이와 유사한 것으로 LazyColumn, LazyRow를 사용하곤 하는데, 둘은 스크롤 방향만 다르고 LazyColumn이 주로 사용될 것이다. 기존의 XML 레이아웃 요소와 다르게 LazyCoulmn은 어떻게 스크롤에 대.. 2023. 6. 10.
Kotlin Multiplatform Mobile(KMM) - Start! 최근 크로스 플랫폼에 대한 관심이 많아지고 있다. 그 중에서 가장 관심이 높았던 것은 Flutter와 Kotlin Multiplatform Mobile(KMM)이었다. Flutter는 3.0 이후, 벌써 3.7 버전이 릴리즈 되었다. (이 마저도 시간이 꽤 지났다.) https://medium.com/flutter/whats-new-in-flutter-3-7-38cbea71133c What’s new in Flutter 3.7 Material 3 updates, iOS improvements, and much more! medium.com 그만큼 구글에서도 크로스 플랫폼에 대한 지원을 아낌없이 하고 있다고 봐도 될 것 같고, 그에 따라 여러가지 기업에서도 Flutter를 도입하는 사례가 늘고 채용공고도 .. 2023. 4. 5.
Android - Deep dive into LiveData - 4. MediatorLiveData 이전 포스팅에서 Transformations를 사용하여 LiveData를 다른 LiveData로 변화시켰다. 이번 포스팅은 Transformations 내부에서 사용한 MediatorLiveData에 대해 알아본다. https://developer.android.com/reference/android/arch/lifecycle/MediatorLiveData MediatorLiveData | Android Developers Stay organized with collections Save and categorize content based on your preferences. The android.arch Architecture Components packages are no longer maintain.. 2023. 4. 1.