'Compose 사용 시 알아야 하는 Android 기본사항'은 최신 권장사항을 사용하여 Android 앱을 빌드하는 방법에 관한 자기 주도형 온라인 과정입니다. 이 과정에서는 Android에서 사용자 인터페이스를 빌드하는 데 권장되는 툴킷인 Jetpack Compose를 사용하여 앱을 빌드하는 방법을 다룹니다.

과정 목표

  • Kotlin 및 Jetpack Compose의 기본사항 이해하기
  • 일련의 기본적인 Android 앱 빌드하기
  • Android 앱 아키텍처 및 Jetpack 라이브러리를 사용하고 Modern Android Development 관행에 따라 데이터로 작업하기

기본 요건

  • 기초적인 컴퓨터 역량
  • 기초적인 수학 역량
  • Android 스튜디오를 실행할 수 있는 컴퓨터(시스템 요구사항 참고)
  • (선택사항) Android 기기
단원 1: 첫 번째 Android 앱

개발자 과정 3개 | 소요 시간: 10시간

프로그래밍 기본사항을 학습하고 첫 번째 Android 앱을 만들어 봅니다.
  • 텍스트 출력을 표시하는 간단한 Kotlin 프로그램을 작성합니다.
  • Android 스튜디오를 다운로드하여 설치합니다.
  • 텍스트와 이미지를 표시하는 간단한 사용자 인터페이스가 포함된 Android 앱을 빌드합니다.
  • 기기나 에뮬레이터에서 앱을 실행합니다.
Kotlin 소개

개발자 과정 1 | 소요 시간: 3시간
Kotlin의 입문 프로그래밍 개념을 알아봅니다.

시작하기 전에
Codelab
Compose를 사용한 Android 기본사항에 오신 것을 환영합니다
동영상
Kotlin을 사용한 첫 프로그램
Codelab
Kotlin에서 변수 만들기 및 사용하기
Codelab
Kotlin에서 함수 만들기 및 사용하기
Codelab
연습: Kotlin 기본사항
Codelab
다음 단계
동영상
퀴즈
Android 스튜디오 설정

개발자 과정 2 | 소요 시간: 4시간
Android 스튜디오를 설치 및 설정하고 첫 번째 프로젝트를 만든 후 기기나 에뮬레이터에서 실행합니다.

Android 스튜디오 소개
동영상
Android 스튜디오 다운로드 및 설치
Codelab
첫 번째 Android 앱 만들기
Codelab
Android Emulator에서 첫 앱 실행
Codelab
Android Emulator 연결 방법
Codelab
다음 단계
동영상
퀴즈
기본 레이아웃 빌드하기

개발자 과정 3 | 소요 시간: 3시간
텍스트와 이미지를 표시하는 간단한 사용자 인터페이스가 포함된 Android 앱을 빌드합니다.

Jetpack Compose 소개
동영상
생일 카드 앱 디자인
동영상
텍스트 컴포저블로 간단한 앱 빌드
Codelab
Android 앱에 이미지 추가
Codelab
연습: Compose 기본사항
Codelab
프로젝트: 명함 앱 만들기
Codelab
다음 단계
동영상
퀴즈
단원 2: 앱 UI 빌드

개발자 과정 3개 | 소요 시간: 21시간

Kotlin의 기본사항을 계속 학습하고 더욱 확대된 대화형 앱을 빌드합니다.
  • Kotlin에서 조건문, 함수 유형, 클래스, 람다 표현식을 사용합니다.
  • 컴포지션 및 리컴포지션의 작동 방식을 이해합니다.
  • 앱 UI에 버튼을 추가하고 사용자 탭에 ��답합니다.
  • 사용자가 입력한 데이터로 작동하는 앱을 만듭니다.
  • 상태를 사용하여 데이터를 표시하고 데이터가 업데이트되면 변경사항을 자동으로 반영하는 방법을 알아봅니다.
  • 단위 테스트를 작성하여 격리된 함수를 테스트합니다.
Kotlin 기초

개발자 과정 1 | 소요 시간: 8시간
Kotlin, 객체 지향 프로그래밍, 람다의 기본사항을 자세히 알아봅니다.

Kotlin 기초
동영상
Kotlin에서 조건문 작성
Codelab
Kotlin에서 null 허용 여부 사용
Codelab
Kotlin에서 클래스 및 객체 사용
Codelab
Kotlin에서 함수 유형 및 람다 표현식 사용
Codelab
연습: Kotlin 기초
Codelab
다음 단계
동영상
퀴즈
앱에 버튼 추가

개발자 과정 2 | 소요 시간: 6시간
Android 앱에서 버튼 클릭에 응답하는 방법을 알아봅니다.

Dice Roller 앱 소개
동영상
대화형 Dice Roller 앱 만들기
Codelab
Android 스튜디오에서 디버거 사용하기
Codelab
연습: 클릭 동작
Codelab
다음 단계
동영상
퀴즈
UI 및 상태와 상호작용

개발자 과정 3 | 소요 시간: 7시간
사용자 입력을 받아 팁을 계산하는 팁 계산기 앱을 만듭니다.

Compose의 상태 이해
동영상
팁 계산기 소개
동영상
Compose의 상태 소개
Codelab
맞춤 팁 계산하기
Codelab
자동 테스트 작성
Codelab
프로젝트: Art Space 앱 만들기
Codelab
다음 단계
동영상
퀴즈
단원 3: 목록 표시 및 Material Design 사용

개발자 과정 3개 | 소요 시간: 15시간

데이터 목록을 표시하는 앱을 빌드하고 Material Design으로 앱을 더 멋지게 만드는 방법을 알아봅니다.
  • Kotlin에서 데이터 클래스, 함수, 컬렉션을 사용합니다.
  • 텍스트와 이미지를 모두 표시하는 앱에서 스크롤 가능한 목록을 만듭니다.
  • 목록 항목과 상호작용하도록 클릭 리스너를 추가합니다.
  • 앱에 앱 바를 추가하고 앱 테마를 수정합니다.
  • Material Design을 사용하여 색상, 도형, 서체를 사용하는 현대적이고 직관적인 사용자 인터페이스를 빌드합니다.
Kotlin 기본사항 더보기

개발자 과정 1 | 소요 시간: 8시간
더 흥미롭고 재미있는 Android 앱을 빌드하는 데 도움이 되는 추가 Kotlin 프로그래밍 개념을 알아봅니다.

Kotlin 기본사항 더보기
동영상
제네릭, 객체, 확장
Codelab
Kotlin에서 컬렉션 사용
Codelab
컬렉션을 사용한 고차 함수
Codelab
연습: 클래스 및 컬렉션
Codelab
퀴즈
스크롤 가능한 목록 빌드하기

개발자 과정 2 | 소요 시간: 4시간
Compose를 사용하여 스크롤 가능한 텍스트 및 이미지 목록을 표시하는 앱을 만듭니다.

Affirmations 앱 소개
동영상
스크롤 가능한 목록 추가
Codelab
앱 아이콘 변경
Codelab
연습: 그리드 빌드하기
Codelab
다음 단계
동영상
퀴즈
멋진 앱 빌드하기

개발자 과정 3 | 소요 시간: 3시간
Material Design, 애니메이션, 접근성 권장사항을 사용하여 앱을 더 멋지고 직관적으로 만들어 봅니다.

Compose를 사용한 Material Design 소개
동영상
Jetpack Compose를 사용한 Material 테마 설정
Codelab
Jetpack Compose를 사용한 간단한 애니메이션
Codelab
접근성 테스트
Codelab
연습: 슈퍼히어로 앱 빌드하기
Codelab
프로젝트: 30일 앱 만들기
Codelab
다음 단계
동영상
퀴즈
단원 4: 탐색 및 앱 아키텍처

개발자 과정 3개 | 소요 시간: 27시간

더 복잡한 앱을 빌드하기 위한 앱 아키텍처 권장사항을 알아봅니다. 앱 내에서 다양한 화면 간에 이동할 수 있는 기능을 강화하여 일관되고 예측 가능한 사용자 환경을 제공합니다.
  • 활동 및 활동의 수명 주기를 설명합니다.
  • 최신 Android 아키텍처를 이해합니다.
  • StateFlow 및 UDF 패턴을 사용하여 상태 및 이벤트를 처리합니다.
  • 데이터와 상태를 저장하는 ViewModel을 추가합니다.
  • Compose를 사용하여 Navigation 구성요소를 설정하고 사용합니다.
  • 반응형 UI의 정의를 이해합니다.
  • 창 클래스 크기를 사용하여 다양한 화면 크기에 맞게 빌드합니다.
  • 앱에 탐색 창을 추가합니다.
아키텍처 구성요소

개발자 과정 1 | 소요 시간: 9시간
앱 아키텍처를 살펴보고 ViewModel, UI 상태, StateFlow를 사용하여 더 복잡한 앱을 빌드하는 방법을 알아봅니다.

단원 4에 오신 것을 환영합니다
동영상
활동 수명 주기 단계
Codelab
앱 아키텍처 소개
동영상
아키텍처: UI 레이어
동영상
Compose의 ViewModel 및 상태
Codelab
단위 테스트를 작성하여 ViewModel 테스트
Codelab
연습: ViewModel을 Dessert Clicker에 추가
Codelab
다음 단계
동영상
퀴즈
Jetpack Compose의 Navigation

개발자 과정 2 | 소요 시간: 6시간
Navigation 구성요소를 사용하여 화면이 더 많은 복잡한 앱을 빌드하는 방법과 여러 컴포저블 간에 데이터를 탐색하고 전달하는 방법을 알아봅니다.

Navigation 및 Cupcake 앱 소개
동영상
Codelab
Cupcake 앱 테스트
Codelab
연습: 탐색 추가
Codelab
다음 단계
동영상
퀴즈
다양한 화면 크기에 맞게 조정

개발자 과정 3 | 소요 시간: 13시간

이 과정에서는 다양한 화면 크기에 맞게 앱을 조정하고 더 나은 사용자 환경을 제공하는 방법과 적응형 UI를 테스트하는 방법을 알아봅니다.

적응형 레이아웃
동영상
Reply 앱 소개
동영상
동적 탐색으로 적응형 앱 빌드
Codelab
적응형 레이아웃으로 앱 빌드
Codelab
연습: Sports 앱 빌드
Codelab
프로젝트: My City 앱 만들기
Codelab
다음 단계
동영상
퀴즈
단원 5: 인터넷에 연결

개발자 과정 2개 | 소요 시간: 14시간

Kotlin 코루틴을 사용하여 여러 작업을 한 번에 실행하고, Retrofit을 사용하여 인터넷에서 데이터를 가져오기 위해 HTTP 및 REST에 관해 알아봅니다. 그런 다음 Coil 라이브러리를 사용하여 앱에 이미지를 표시합니다.
  • 동시 실행의 기본사항과 Android 앱에서 코루틴을 사용하는 방법을 설명합니다.
  • 최신 Android 앱 아키텍처의 데이터 영역을 정의하고 이해합니다.
  • 저장소를 구현하여 데이터 액세스를 중앙화합니다.
  • Retrofit을 사용하여 원격 서버에서 데이터를 가져옵니다.
  • Coil 라이브러리를 사용하여 이미지를 로드하고 표시합니다.
  • 종속 항목 삽입을 구현하여 클래스를 분리함으로써 앱을 더 쉽게 테스트, 유지 관리, 확장할 수 있게 만듭니다.
인터넷에서 데이터 가져오기

개발자 과정 1 | 소요 시간: 6시간
앱을 차단하지 않고 동시에 작업을 실행하기 위해 코루틴을 구현하고, 인터넷에서 데이터를 가져오기 위해 HTTP 및 REST에 관해 알아봅니다.

인터넷에 연결
동영상
Kotlin 플레이그라운드의 코루틴 소개
Codelab
Android 스튜디오의 코루틴 소개
Codelab
HTTP/REST 소개
동영상
인터넷에서 데이터 가져오기
Codelab
다음 단계
동영상
퀴즈
인터넷에서 이미지 로드 및 표시

개발자 과정 2 | 소요 시간: 3시간
앱에 아키텍처 권장사항을 적용하고 Coil을 사용하여 이미지를 다운로드하고 표시합니다.

아키텍처: 데이터 영역
동영상
저장소 및 수동 종속 항목 삽입 추가
Codelab
인터넷에서 이미지 로드 및 표시
Codelab
연습: Amphibians 앱 빌드
Codelab
프로젝트: 서가 앱 만들기
Codelab
다음 단계
동영상
퀴즈
단원 6: 데이터 지속성

개발자 과정 3개 | 소요 시간: 10시간

원활하고 일관된 사용자 환경을 위해 데이터를 기기에 로컬로 저장하고 네트워크 중단이 발생하는 경우에도 앱이 계속 작동하도록 하는 방법을 알아봅니다.
  • SQLite 데이터베이스에서 데이터를 삽입, 업데이트, 삭제하는 SQL의 기본사항을 알아봅니다.
  • Room 라이브러리를 사용하여 Android 앱에 데이터베이스를 추가합니다.
  • Database Inspector를 사용하여 데이터베이스 문제를 테스트하고 디버그합니다.
  • Preference DataStore를 사용하여 사용자 환경설정을 저장합니다.
SQL 소개

개발자 과정 1 | 소요 시간: 2시간
SQL을 사용하여 관계형 데이터베이스에서 데이터를 읽고 조작하는 방법을 알아봅니다.

데이터베이스 및 SQL 소개
동영상
SQL을 사용하여 데이터베이스 읽기 및 쓰기
Codelab
다음 단계
동영상
퀴즈
데이터 지속성을 위해 Room 사용

개발자 과정 2 | 소요 시간: 6시간
Room 라이브러리를 사용하여 Android 앱에서 관계형 데이터베이스를 ���게 만들고 사용합니다.

Kotlin Flow의 실제 사용 사례
동영상
Flow 테스트
도움말
Room Kotlin API 사용
동영상
Room을 사용하여 데이터 유지
Codelab
Room을 사용하여 데이터 읽기 및 업데이트
Codelab
연습: Bus Schedule 앱 빌드
Codelab
다음 단계
동영상
퀴즈
DataStore에서 키를 사용하여 데이터 저장 및 액세스

개발자 과정 3 | 소요 시간: 2시간
Android 앱에서 Preferences DataStore를 사용하여 간단한 키-값 쌍 데이터를 저장하는 방법을 알아봅니다.

DataStore 소개
동영상
Preferences DataStore
동영상
DataStore를 사용하여 로컬에 환경설정 저장
Codelab
프로젝트: 항공편 검색 앱 만들기
Codelab
다음 단계
동영상
퀴즈
단원 7: WorkManager

개발자 과정 1개 | 소요 시간: 6시간

Android Jetpack의 WorkManager API를 사용하면 앱이 종료되거나 기기가 다시 시작되더라도 계속해서 실행되는 필수 백그라운드 작업(예: 데이터 백업 또는 최신 콘텐츠 다운로드)을 예약할 수 있습니다.
  • 백그라운드 작업에서 실행해야 하는 장기 실행 작업을 정의합니다.
  • Android 앱에 WorkManager를 추가합니다.
  • 작업자 객체를 만들고 작업을 큐에 추가합니다.
  • WorkRequest에서 제약 조건을 만듭니다.
  • Background Task Inspector를 사용하여 WorkManager를 검사하고 디버그합니다.
WorkManager로 작업 예약

개발자 과정 1 | 소요 시간: 3시간
애플리케이션 프로세스의 현재 실행 여부와 관계없이 실행해야 하는 백그라운드 작업을 처리하는 API인 WorkManager를 사용하는 경우와 방법을 알아봅니다.

WorkManager 소개
동영상
WorkManager 구현
동영상
WorkManager로 백그라운드 작업
Codelab
고급 WorkManager 및 테스트
Codelab
연습: Water Me 앱 빌드
Codelab
퀴즈
단원 8: Compose 및 뷰

개발자 과정 2개 | 소요 시간: 4시간

동일한 앱에서 뷰를 기반으로 한 이전 UI 툴킷과 Compose를 나란히 사용하는 방법을 알아봅니다. 이 단원에서는 상호 운용성 API 및 뷰의 기존 앱에 새로운 기능을 추가하거나, 뷰를 사용하는 기존 라이브러리를 사용하거나, Compose에서 아직 사용할 수 없는 UI 구성요소를 사용하기 위�� ���장사항을 알아봅니다.
  • 뷰 기반 UI 도구 키트를 이해하고 XML을 사용하여 앱 UI를 빌드합니다.
  • 뷰를 사용하여 빌드된 앱에 컴포저블을 추가합니다.
  • 앱에 Navigation 구성요소를 추가하고 이를 사용하여 프래그먼트 간에 이동합니다.
  • AndroidView를 사용하여 뷰를 표시합니다.
  • Compose 앱에 기존 뷰 기반 UI 구성요소를 추가합니다.
Android 뷰와 뷰의 Compose

개발자 과정 1 | 소요 시간: 3시간
Android 뷰로 앱을 빌드하는 기본사항과 뷰를 사용하여 빌드된 앱에서 컴포저블을 추가하는 방법을 알아봅니다.

Android 뷰 시스템
동영상
뷰를 사용하여 Android 앱 빌드
Codelab
뷰의 Compose
동영상
기존 앱에 Compose 추가
Codelab
퀴즈
Compose의 뷰

개발자 과정 2 | 소요 시간: 1시간
Jetpack Compose로 빌드된 앱 내에서 기존 뷰를 추가하고 사용하는 방법을 알아봅니다.

Compose의 뷰
동영상
Compose의 뷰 상호 운용성
Codelab
기존 앱에 Compose 추가
Codelab
퀴즈