AppUpdateManager를 이용한 앱 업데이트 처리

2019-06-24

어느 정도 규모가 있는 앱에는 사용자에게 최신버전의 업데이트를 알려주는 기능과 강제 업데이트 기능이 대부분 포함되어 있습니다. 강제 업데이트의 경우 중요한 문제로 인해 더이상 해당 버전을 사용하지못하고 최신버전을 받아 사용하기 원하는 경우에 사용됩니다. 대부분 Backend를 통해 현재 앱버전을 체크하여 업데이트해야 하는 상황에 따라 사용자에게 다이얼로그를 노출시키고 플레이스토어로 이동하는 방법을 사용합니다. 플레이스토어로 이동 후 사용자는 업데이트 버튼을 눌러 업데이트가 끝난뒤 다시 앱으로 돌아오게 됩니다.

Read More

MotionLayout을 통한 코드 한줄 없이 전화효과 주기

2018-10-12

ConstraintLayout을 사용하는데 있어서 ConstraintSet을 이용한 애니메이션 처리는 간결한 코드를 통해 간단히 처리 할 수 있는 방법을 제공해 왔습니다. 두개의 레이아웃을 통해 서로 다른 크기와 위치의 변화를 감지하여 자동으로 애니메이션 처리하는 멋진 아이디어 덕분입니다.

Read More

ProcessLifecycleOwner를 이용한 앱 Background/Foreground이벤트 처리

2018-06-13

안드로이드 앱을 개발을 하다보면 앱이 Background, Foreground 상태에 대한 이벤트를 탐지를 필요로 합니다. 일반적으로 ActivityManager의 Activity의 갯수와 Lifecycle에 따라 이벤트 탐지를 합니다. 모든 Activity의 Lifecycle을 관리한다는 것은 번거로운 일입니다. 하지만 Android Architecture Components를 이미 사용한다면 간단히 몇줄 만에 해당 이벤트를 탐지 할 수 있습니다.

Read More

Kotlin Coroutines – Retrofit2 + Coroutines 동시처리

2018-05-12

Android의 스레딩 모델은 UI 스레드라고 불리는 싱글 스레드가 사용자의 인터페이스 렌더링, 이벤트 캡쳐 및 기타 여러 측면을 담당하는데 이는 모든 UI 프레임워크와 동일합니다. 네트워크 요청, DB 쿼리, 많은 연산과 같은 긴 작업을 수행하면 UI가 멈추어 ANR 오류가 발생합니다.

Read More