안드로이드 라이브러리의 사용법을 학습하는 가장 좋은 방법은 Google Developers의 공식 문서를 참조하는 것이지만, 설명이 복잡한 경우가 많고 한글 문서는 빠르게 업데이트 되지 않는 경우도 많습니다.
그래서 알기쉬운 안드로이드 강의를 한 번 만들어보기로 했습니다. 이 강의의 목적은 Android Jetpack을 중심으로 한 안드로이드 라이브러리의 동작원리를 이해하고 앱에 적용하는 법을 알기쉽게 전달하는 것입니다.
강의 순서는 다음과 같습니다. 우선 Android App Architecture와 Android Jetpack을 도입해야 하는 이유에 대해 설명하고 Android Architecture Components의 기초 이론에 대해 알아봅니다.
그리고 카카오의 책 검색 API를 이용해 책 검색 결과를 나타내는 앱을 만들어 봅니다. 이 앱에 안드로이드 라이브러리를 적용하면서 실제 사용법에 대해 설명하겠습니다.
화면에 보시는 것은 강의에서 최종적으로 만들게 될 앱입니다. android로 검색하면 검색결과가 출력되고 무한히 스크롤 할 수 있습니다. 검색결과는 DB에 저장하여 Favorite Books 화면에서 확인하고 삭제할 수 있습니다. Settings 화면에서는 검색결과의 정렬방식을 바꿀 수 있고, 백그라운드에서 앱 캐시를 삭제하는 작업을 예약할 수도 있습니다.
이 앱에는 인터넷 통신에 Retrofit, 화면 전환에는 Navigation, DB 저장에는 Room, 데이터 스트림 처리는 Flow, 설정값 저장에는 DataStore, 네트워크 반환값 처리는 Paging, 백그라운드 작업은 WorkManager, 그리고 의존성 주입은 Hilt 라이브러리를 사용하였습니다.
MVVM 구조 구축에 관련되는 View Binding, ViewModel, LiveData, Data Binding, Repository Pattern에 대해서도 설명합니다.
Jetpack과는 직접적인 연관은 없지만 추가로 알아두면 좋을 이론도 정리하여 보강 이론에서 설명합니다. 보강 이론에서는 Http 통신, Data class, Singleton Pattern, Coroutine, ListAdapter에 대해 설명합니다.
이러한 최신 기술을 사용한 개발을 Google에서는 Modern Android Development라고 정의하는데요, 이 강의를 듣고 나면 여러분들도 MAD Skills을 보유한 개발자가 되어 있을 것입니다.
자 그럼 시작해 보겠습니다.