1. Retrofit2란? Retrofit2는 안드로이드 애플리케이션에서 REST API를 사용하여 서버와 통신하는 라이브러리입니다. 스퀘어에서 만들었으며 HTTP 통신을 간편하게 만들어줍니다. Retrofit1도 있지만, Retroift2가 2015년에 나왔으므로 이제 Retrofit하면 전부 Retrofit2라고 봐도 무방합니다. 1-1. REST API REST API(Representational State Transfer Application Programming Interface)는 웹 기반 응용 프로그램에서 사용되는 소프트웨어 인터페이스입니다. 클라이언트 - 서버 모델을 기반으로 하며, HTTP 프로토콜을 통해 서버와 클라이언트 간 통신을 합니다. 전송하는 데이터 형식은 일반적으로 JSON과..
1. 정의 1-1. 코루틴이란? 코루틴은 비동기 프로그래밍을 지원하는 Kotlin의 라이브러리이다. 스레드와 비슷한 역할을 하지만, 비교적 가벼우며, 쉽게 사용할 수 있다. 1-2. 비동기 작업은? 비동기 작업은 애플리케이션에서 시간이 오래 걸리는 작업을 수행할 때, 결과를 기다리지 않고 다른 작업을 수행하는 방식을 말한다. 한 번에 여러가지 일을 처리하기 위함이라고 생각하면 편하다. 일반적으로 네트워크 요청, 데이터베이스 조회, 파일 다운로드 등과 같은 작업을 비동기적으로 처리한다. 비동기 작업을 수행하면 애플리케이션의 응답성이 향상되고, 화면이 멈추는 등의 문제를 방지할 수 있다. 이를 구현하는 방식으로는 콜백, 스레드, 코루틴 등이 있다. 1) 콜백이란? 콜백은 비동기 작업이 완료되면 호출되는 함수..
1. 생명 주기 1-1. 생명 주기 그동안 안드로이드 구조에 대해 잘 몰랐는데, 알고 보니 안드로이드 앱은 생명 주기가 존재한다. 실제 사용자 입장에서는 앱을 키고 작동하는 것이 전부인데, 실제로는 그 안에서 여러 단계를 거치면서 체계적으로 작동하고 있었다. 앱을 만들 때 생명 주기를 고려하는 것은 필수적이다. 이를 고려하지 않으면 불안정적인 앱이 만들어 질 수 있다. 안드로이드 개발 문서에서 대표적인 예시를 들어주었다. 1. 앱을 사용하다가 다른 앱으로 전환할 때 강제 종료가 되는 경우 2. 앱을 사용하고 있지 않은데 리소스가 낭비되는 경우 3. 앱에서 나갔다가 다시 들어왔는데 사용자의 진행 상태가 저장되지 않은 경우 4. 화면 가로/세로 전환을 할 경우, 강제 종료되거나 진행 상태가 저장되지 않은 경..