Android Kotlin 기초: 교육 과정에 오신 것을 환영합니다

Google Developers 교육팀에서 만든 Android Kotlin 기초 교육 과정에 오신 것을 환영합니다. 이 교육 과정에서는 Kotlin을 사용하여 Android 앱을 빌드하는 기본 사항을 안내하는 일련의 Codelab을 제공합니다. 이 교육 과정에서는 기본적인 Android Kotlin 프로그래밍 개념을 알아보고 다양한 앱을 빌드합니다.

Codelab을 순서대로 진행하는 것이 좋지만 순서를 바꿔 진행해도 괜찮습니다.

Google Developers 교육팀에서 만든 다른 Android 교육에 대해 알아보려면 Google Developers 교육: Android를 참고하세요.

기본 요건

Android Kotlin 기초 교육 과정을 수강할 때 Java, C++, Smalltalk와 같은 완전한 객체 지향 프로그래밍 언어에 관한 경력이 2년 이상 있다면 더 효과적으로 학습할 수 있습니다.

무료로 제공되는 Udacity의 프로그래머를 위한 Kotlin 부트캠프 교육 과정에서 다룬 모든 개념, 도구, 용어에 관해 잘 알고 있어야 합니다.

또한 GitHub 탐색에 익숙하고 다음과 같은 개념을 잘 알고 있어야 합니다.

  • 기본 멀티스레딩 및 예외 처리
  • 일반적으로 코드를 빌드하고 컴파일하며 실행하는 방식

또한 필수는 아니지만 함수 프로그래밍 개념을 아는 것도 도움이 됩니다.

시작 코드 및 솔루션 코드

Android Kotlin 기초 과정의 Codelab을 진행하면서 앱을 만듭니다. 만드는 앱의 시작 앱솔루션 코드의 소스 코드는 GitHub에 있습니다.

Android Kotlin 기초에는 다음 과정이 포함됩니다.

  • 과정 1: 첫 앱 빌드
  • 과정 2: 레이아웃
  • 과정 3: 탐색
  • 과정 4: 활동 및 프래그먼트 수명 주기
  • 과정 5: 아키텍처 구성요소
  • 과정 6: Room 데이터베이스 및 코루틴
  • 과정 7: RecyclerView
  • 과정 8: 인터넷에 연결
  • 과정 9: 저장소
  • 과정 10: 모두를 위한 디자인

각 강의에는 여러 Codelab이 포함되어 있습니다.

과정 1: 첫 앱 빌드

이 과정에서는 Kotlin을 사용하도록 Android 스튜디오를 설정하는 방법과 앱을 빌드하는 방법을 설명합니다. 'Hello World'부터 시작하여 이미지 파일 및 클릭 핸들러를 사용하는 앱으로 넘어갑니다. Android 프로젝트가 구조화되는 방식, Android Kotlin 앱에서 뷰를 사용하고 수정하는 방법, 앱이 이전 버전과 호환되는지 확인하는 방법을 알아봅니다. 또한 API 수준 및 Android Jetpack 라이브러리에 관해서도 알아봅니다.

1단원에는 다음 코드랩이 포함되어 있습니다.

강의 2: 레이아웃

이 과정에서는 Android 스튜디오 Layout Editor를 사용하여 선형 레이아웃과 제약 조건 레이아웃을 만드는 방법을 알아봅니다. 사용자 입력을 가져와서 표시하고 사용자 탭에 응답하며 뷰의 공개 상태 및 색상을 변경하는 앱을 만듭니다. 이 과정에서는 데이터 결합을 사용하여 findViewById()에 대한 비효율적인 호출을 제거하는 방법도 설명합니다.

2단원에는 다음 코드랩이 포함되어 있습니다.

과정 3: 탐색

이 과정에서는 앱에서 유용한 탐색을 만드는 방법을 알아봅니다. 프래그먼트를 만들어 앱에 추가한 후 Android 스튜디오 탐색 그래프를 사용하여 앱에 탐색을 추가합니다. 앱에 탐색 창 및 옵션 메뉴를 추가합니다. 그리고 앱의 백 스택 관련 작업을 하고 시스템 뒤로 버튼의 대상을 변경합니다. 마지막으로, 앱 내에서 외부 활동을 호출하는 방법을 알아봅니다.

3단원에는 다음 코드랩이 포함되어 있습니다.

과정 4: 활동 및 프래그먼트 수명 주기

이 강의에서는 활동 및 프래그먼트 수명 주기에 관해 알아보고 복잡한 수명 주기 상황을 관리하는 방법을 알아봅니다. Android 수명 주기와 관련된 몇 가지 버그가 포함된 시작 앱으로 작업합니다. 앱의 수명 주기 이벤트를 더 잘 이해하기 위해 앱에 로깅을 추가하고, 앱에 포함된 버그를 수정하고, 앱에 몇 가지 개선사항을 추가합니다. 또한 더 잘 정리되고 유지관리하기 쉬운 코드로 수명 주기 이벤트를 관리하는 데 도움이 되는 Android Jetpack의 수명 주기 라이브러리에 대해서도 알아봅니다.

4단원에는 다음 코드랩이 포함되어 있습니다.

과정 5: 아키텍처 구성요소

이 강의에서는 ViewModelLiveData 객체를 사용하는 방법을 알아봅니다. ViewModel 객체를 사용하여 화면 회전과 같이 구성을 변경할 때도 데이터를 유지하는 방법을 알아봅니다. 앱의 UI 데이터를 캡슐화된 LiveData로 변환하고 LiveData 값이 변경될 때 알림을 받는 관찰자 메서드를 추가합니다.

또한 LiveDataViewModel을 데이터 결합과 통합하여 레이아웃의 뷰가 앱의 프래그먼트를 사용해 정보를 중계하지 않고도 ViewModel 객체와 직접 통신할 수 있게 합니다. 이 기법을 사용하면 코드가 간소화되고 UI 컨트롤러에 클릭 핸들러가 필요하지 않습니다.

5단원에는 다음 코드랩이 포함되어 있습니다.

과정 6: Room 데이터베이스 및 코루틴

이 과정에서는 Room 데이터베이스 라이브러리를 사용하는 방법을 설명합니다. Room는 데이터베이스 설정 및 구성에 필요한 많은 부분을 처리하고 데이터베이스와 상호작용하기 위한 코드를 간소화합니다. Kotlin 코루틴을 사용하여 데이터베이스 작업을 기본 스레드에서 떨어뜨려 놓는 방법을 알아보고 앱 탐색에서 ViewModelLiveData를 사용하는 방법에 관해 자세히 알아봅니다.

6단원에는 다음 코드랩이 포함되어 있습니다.

과정 7: RecyclerView

이 과정에서는 RecyclerView를 사용하여 항목의 목록 및 그리드를 효율적으로 표시하는 방법을 설명합니다. 복잡한 목록 및 그리드의 경우 RecyclerView를 더 효율적으로 만들고 코드를 더 쉽게 유지 관리하고 확장하는 방법을 알아봅니다. RecyclerView의 항목을 클릭 가능하게 만드는 방법을 알아봅니다. 예를 들어 앱에서 헤더를 추가하기 위해 RecyclerView의 목록 및 그리드에 둘 이상의 뷰 홀더 및 레이아웃을 추가하는 방법도 알아봅니다.

7단원에는 다음 코드랩이 포함되어 있습니다.

과정 8: 인터넷에 연결

이 과정에서는 커뮤니티에서 개발한 라이브러리를 사용해 웹 서비스에 연결하여 데이터를 검색하고 표시하는 방법을 설명합니다. 잠재적인 네트워크 오류를 처리하고 Glide 라이브러리를 사용하여 인터넷에서 사진을 로드하고 표시하는 방법을 알아봅니다. 또한 RecyclerView를 빌드하고 이를 사용하여 이미지 그리드를 표시합니다.

8단원에는 다음 코드랩이 포함되어 있습니다.

과정 9: 저장소

이 과정에서는 저장소를 추가하여 데이터 영역을 추상화하고 Android Kotlin 앱의 나머지 부분에 정리된 API를 제공하는 방법을 설명합니다. 또한 WorkManager를 사용하여 효율적이고 최적화된 방식으로 백그라운드 작업을 예약하는 방법도 알아봅니다.

9단원에는 다음 코드랩이 포함되어 있습니다.

과정 10: 모두를 위한 디자인

이 과정에서는 아름답고 접근성 높은 Android 앱 디자인의 기본사항을 설명하고 Google Developer Group (GDG) 모임에 관한 정보를 찾아 표시하는 앱을 빌드하는 방법을 안내합니다.

10단원에는 다음 코드랩이 포함되어 있습니다.

다음 강의 시작: 1.0 Android 스튜디오 설치

첫 번째 Codelab인 1.0 Android 스튜디오 설치를 진행하여 Android Kotlin 기초 과정을 시작합니다.