작성 배경 및 목적 앱 개발을 하며, 빼놓을 수 없는 것중 하나가 유저에게 알림 메시지를 보내는 것이다. 특히 다른 사람의 활동에 영향을 받는 유저간 커뮤니케이션이 가능한 앱의 경우에는 알림 기능이 사실상 앱의 목적상 필수적으로 들어가야 하는데, 규모가 큰 경우에는 어떤지는 모르겠으나, 소규모의 앱을 개발하면서 FCM이 가장 간편하고 합리적이라는 판단에 의해서 많이 사용하였었다. 현재까지는 단순히 구현에 급급했었기에 이번 기회에 FCM에 대해 기초 개념과 구조부터 차근차근 알아보고자 한다. FCM의 경우 개인적으로 공식문서가 잘 되어있다고 생각하기 때문에 이를 바탕으로 정리 할 예정이다. (공식문서 번역은 Cloud Translation API에 의해 번역되었다고 하는데, 개인적으로 영어 문서를 보는 것..
Retrofit에서의 Call Adapter 도입 배경 Retrofit 정의 Retrofit은 HTTP API에 대한 직접적인 별도 조작없이 인터페이스를 사용해 쉽게 요청을 보낼 수 있고 쉽게 응답결과를 객체(Object)로 변환해주는 라이브러리이다. 또한, 코틀린을 사용하면, API 호출시 내부적으로 요청이 이루어지기 때문에 따로 콜백을 정의할 필요없이 바로 응답객체를 받을 수 있다. 문제 상황 그러나, API 호출시 에러가 발생하거나, 기대하지 않은 응답 코드가 오는 등의 문제가 생기면 매 호출마다 try-catch 예외처리 지옥에 빠질 수있다. 우리가 원하는 것은 요청 결과를 Wrapping하여 API를 호출하는 위치에서 is Success, is Failure에 따라 동작을 변경하고자 하는것이다...
배경 Kotlin을 활용해 코딩하다 보면 자주 보게되는 Companion Object, 과연 그 정체가 무엇인가에 대해 공부하고자 작성하게 되었다. 기본적으로 Companion Object에 대해 정확하게 파악하기 위해선 Companion Object의 Object가 무엇인지, 기존에 사용하고 있는 Object Declaration과 Obejct Expression이 무엇인지에 대해 파악한 뒤 Companion Object순으로 작성하고자 한다. Kotlin에서 등장하는 Companion Object와 Java등에서 등장하는 Static과 어떤점이 같으며 차이점이 무엇인지에 대해 작성하고자 한다. 기초 개념 Object 정의 먼저 Object란 무엇인가? 사전적 정의는 Object(객체)란 인식 가능한 ..
배경 현재 보고있는 혹은 포커스하고 있는 RecyclerView의 스크롤 상태를 체크해야하는 경우가 존재한다. 이 경우에 어떻게 포커스하는가에 대해 작성하고자 한다 구현 방법 1. 현재 스크롤 상태 체크 addOnScrollListener 사용 관련 공식문서: RecyclerView.OnScrollListener | Android Developers 기존 RecyclerView에 OnScrollListener()를 추가해 onScrolled와 onScrollStateChanged를 override해서 현재 스크롤 상태를 체크할 수 있다. 1. onScrolled(recyclerView: RecyclerView, dx: Int, dy: Int) → 스크롤이 되는 중일때 호출 dx, dy 변수는 각자 수직/..