상세정보
코틀린으로 배우는 안드로이드 앱 개발 실전 노하우 2/e
- 저자
- 알렉스 포레스터,에란 부즈나,알렉산드루 덤브라반,조마르 티그칼 공저/김윤지,임태규 공역
- 출판사
- 에이콘출판사
- 출판일
- 2025-03-07
- 등록일
- 2025-07-14
- 파일포맷
- PDF
- 파일크기
- 30MB
- 공급사
- YES24
- 지원기기
-
PC
PHONE
TABLET
웹뷰어
프로그램 수동설치
뷰어프로그램 설치 안내
책소개
이 책은 안드로이드 스튜디오와 코틀린을 활용해 앱을 만드는 기초부터 시작해, 사용자 친화적인 화면 설계, 백그라운드 작업, 데이터 관리, 앱 내비게이션 등 앱 개발의 핵심 기술을 익힐 수 있도록 돕는다. Retrofit, Glide와 같은 필수 라이브러리와 코루틴, 플로우를 사용한 비동기 처리, 의존성 주입과 아키텍처 구성 요소 등 실무에서 꼭 필요한 기술도 자세히 다룬다. 또한, 젯팩 컴포즈를 통해 효율적으로 UI를 개발하고, 앱 테스트 및 구글 플레이 스토어 배포 과정까지 실습을 통해 배우게 된다. 퀴즈 앱, 뉴스 리더, 날씨 앱 등 다양한 프로젝트를 따라 하다 보면 안드로이드 앱 개발의 전반적인 과정을 완벽히 익히고 자신만의 창의적인 앱을 만들 준비가 될 것이다.
저자소개
모바일 및 웹 개발, 콘텐츠 관리 시스템 분야에서 20년 이상 일해 온 경험 많은 소프트웨어 개발자다. 2010년부터 안드로이드를 다뤘고, 스카이(Sky), 자동차 협회(The Automobile Association), HSBC, 디스커버리 채널(Discovery Channel) 및 O2와 같은 대기업을 대상으로 다양한 산업에서 주요 앱을 개발했다. 아내, 딸과 함께 하트퍼드셔에 거주하고 있다. 개발 작업 이외에는 칠턴 힐스에서 럭비와 러닝을 즐긴다.
목차
1부 - 안드로이드 기초01장 첫 번째 앱 만들기__기술적 요구 사항__안드로이드 스튜디오를 사용한 안드로이드 프로젝트 생성____실습 1.01: 앱을 위한 안드로이드 스튜디오 프로젝트 생성__가상 기기 설정 및 앱 실행____실습 1.02: 에뮬레이터 설정 및 에뮬레이터에서 앱 실행__안드로이드 매니페스트____실습 1.03: 안드로이드 매니페스트 인터넷 권한 설정__그래들을 사용한 앱 빌드, 구성 및 종속성 관리____프로젝트 수준의 build.gradle 파일____앱 수준의 build.gradle 파일____실습 1.04: 앱에 테마를 적용하기 위해 머티리얼 디자인을 사용하는 방법__안드로이드 앱 구조____실습 1.05: 커스텀 인사말 표시를 위한 대화형 UI 요소 추가____레이아웃 파일에서 뷰에 접근____추가적인 입력 유효성 검사____과제 1.01: RGB 색상을 생성하는 앱 제작__요약02장 사용자 화면 흐름 생성__기술적 요구 사항__액티비티 생명주기____실습 2.01: 액티비티 콜백 로깅__액티비티 상태 저장 및 복원____실습 2.02: 레이아웃에서 상태 저장 및 복원____실습 2.03: 콜백을 사용해 상태 저장 및 복원__인텐트를 통한 액티비티 간 상호작용____실습 2.04: 인텐트 소개____실습 2.05: 액티비티에서 결과 받기__인텐트, 태스크 및 실행 모드____실습 2.06: 액티비티 실행 모드 설정____과제 2.01: 로그인 양식 만들기__요약03장 프래그먼트를 사용한 UI 개발__기술적 요구 사항__프래그먼트 생명주기____onAttach____onCreate____onCreateView____onViewCreated____onActivityCreated____onStart____onResume____onPause____onStop____onDestroyView____onDestroy____onDetach____실습 3.01: 기본 프래그먼트 추가 및 프래그먼트 생명주기____실습 3.02: 액티비티에 정적 프래그먼트 추가__정적 프래그먼트와 듀얼 패인 레이아웃____실습 3.03: 정적 프래그먼트를 사용한 듀얼 패인 레이아웃__동적 프래그먼트____실습 3.04: 액티비티에 동적 프래그먼트 추가__젯팩 Navigation____실습 3.05: 젯팩 Navigation 그래프 추가____과제 3.01: 행성 퀴즈 만들기__요약04장 앱 내비게이션__기술적 요구 사항__내비게이션 개요__내비게이션 드로어____실습 4.01: 내비게이션 드로어를 포함한 앱 개발__바텀 내비게이션____실습 4.02: 앱에 바텀 내비게이션 추가__탭 내비게이션____실습 4.03: 앱 내비게이션을 위한 탭 사용____과제 4.01: 기본 및 보조 내비게이션 구성__요약2부 - 네트워크 호출 표시05장 필수 라이브러리: Retrofit, Moshi, Glide__기술적 요구 사항__REST, API, JSON, XML 소개__네트워크 엔드포인트에서 데이터 가져오기____실습 5.01: API에서 데이터 읽기__JSON 응답 파싱____실습 5.02: API 응답에서 이미지 URL 추출__원격 URL에서 이미지 로드____실습 5.03: 획득한 URL에서 이미지 로드____과제 5.01: 현재 날씨 표시__요약06장 RecyclerView 생성 및 상호작용__기술적 요구 사항__레이아웃에 RecyclerView 추가____실습 6.01: 기본 액티비티에 RecyclerView 추가__RecyclerView 채우기____실습 6.02: RecyclerView 채우기__RecyclerView 클릭 응답____실습 6.03: 클릭에 대한 응답__다양한 아이템 유형 지원____실습 6.04: RecyclerView에 제목 추가__스와이프를 통한 아이템 제거____실습 6.05: 스와이프 삭제 기능 추가__인터랙티브하게 아이템 추가____실습 6.06: 고양이 추가 버튼 구현____과제 6.01: 목록 관리__요약07장 안드로이드 권한 및 구글 맵스__기술적 요구 사항__사용자 권한 요청____실습 7.01: 위치 권한 요청__사용자 위치 지도 표시____실습 7.02: 사용자의 현재 위치 얻기__지도 클릭과 커스텀 마커____실습 7.03: 클릭한 위치에 사용자 지정 마커 추가____과제 7.01: 자동차의 주차 위치를 찾는 앱 만들기__요약08장 서비스, WorkManager, 알림__기술적 요구 사항__WorkManager를 사용한 백그라운드 작업 시작____실습 8.01: WorkManager 클래스로 백그라운드 작업 실행__사용자가 인지할 수 있는 백그라운드 작업: 포어그라운드 서비스____실습 8.02: 포어그라운드 서비스로 고양이 비밀 요원 작업 현황 파악____과제 8.01: 물 마시기 알림__요약09장 젯팩 컴포즈를 사용한 사용자 인터페이스 구현__기술적 요구 사항__젯팩 컴포즈란?____실습 9.1: 첫 컴포즈 화면__사용자 액션 처리____실습 9.02: 사용자 입력 처리__컴포즈 테마 설정____실습 9.03: 테마 적용____기존 프로젝트에 컴포즈 적용____과제 9.01: 첫 컴포즈 앱__요약3부 - 테스트 및 코드 구조10장 JUnit, Mockito, Espresso를 사용한 단위 테스트와 통합 테스트__기술적 요구 사항__테스트 유형__JUnit__안드로이드 스튜디오 테스팅 팁__Mockito____실습 10.01: 숫자의 합 테스트__통합 테스트____Robolectric____Espresso____실습 10.02: 이중 통합__UI 테스트____젯팩 컴포즈 테스트____실습 10.03: 랜덤 대기 시간__TDD____실습 10.04: TDD를 사용한 숫자 합 계산____과제 10.01: TDD로 개발하기__요약11장 안드로이드 아키텍처 구성 요소__기술적 요구 사항__안드로이드 컴포넌트 개요__ViewModel____실습 11.1: 공유 ViewModel__데이터 스트림____LiveData____실습 11.02: 라이브 데이터로 관찰____추가 데이터 스트림__룸____엔티티____DAO____데이터베이스 설정____서드파티 프레임워크____실습 11.03: 간단한 룸 데이터베이스 만들기____과제 11.01: 쇼핑 메모 앱__요약12장 데이터 저장__기술적 요구 사항__프리퍼런스와 데이터 스토어____SharedPreferences____실습 12.01: SharedPreferences 래핑____DataStore____실습 12.02: 프리퍼런스 DataStore__파일____내부 저장소____외부 저장소____FileProvider____저장소 액세스 프레임워크(SAF)____에셋 파일____실습 12.03: 파일 복사__범위 지정 저장소____카메라, 미디어 저장소____실습 12.04: 사진 촬영____과제 12.01: 강아지 다운로더__요약13장 Dagger, Hilt, Koin을 사용한 의존성 주입__기술적 요구 사항__의존성 주입의 필요성__수동 DI____실습 13.01: 수동 주입__Dagger 2____컨슈머____프로바이더____커넥터____한정자____스코프____서브컴포넌트____실습 13.02: Dagger 주입__Hilt____실습 13.03: Hilt 주입__Koin____실습 13.04: Koin 주입____과제 13.01: 주입된 리포지토리__요약4부 - 앱 다듬고 배포하기14장 코루틴 및 플로우__기술적 요구 사항__안드로이드에서 코루틴 사용____코루틴 생성____프로젝트에 코루틴 추가____실습 14.01: 안드로이드 앱에서 코루틴 사용__LiveData 변환____실습 14.02: LiveData 변환__안드로이드에서 플로우 사용____안드로이드에서 플로우 수집____플로우 빌더로 플로우 생성____플로우와 연산자 사용____실습 14.03: 안드로이드 앱에서 플로우 사용____과제 14.01: TV 가이드 앱 만들기__요약15장 아키텍처 패턴__기술적 요구 사항__MVVM으로 시작하기____안드로이드에서 데이터 바인딩 사용____실습 15.01: 안드로이드 프로젝트에서 데이터 바인딩 사용__Retrofit과 Moshi 사용____리포지토리 패턴 구현____실습 15.02: 안드로이드 프로젝트에서 룸과 함께 리포지토리 사용__WorkManager 사용____실습 15.03: 안드로이드 프로젝트에 WorkManager 추가____과제 15.01: TV 가이드 앱 업데이트__요약16장 CoordinatorLayout과 MotionLayout을 사용한 애니메이션 및 전환__기술적 요구 사항__액티비티 전환____XML로 액티비티 전환 추가____코드로 액티비티 전환 추가____액티비티 전환을 적용한 액티비티 실행____실습 16.01: 액티비티 전환 생성____공유 요소 전환 추가____공유 요소 전환을 적용한 액티비티 실행____실습 16.02: 구성 요소 전환 생성__CoordinatorLayout을 사용한 애니메이션__MotionLayout을 사용한 애니메이션____MotionLayout 추가____MotionLayout으로 애니메이션 생성____실습 16.03: MotionLayout으로 애니메이션 추가____모션 에디터____MotionLayout 디버깅____MotionLayout 경로 수정____실습 16.04: 키프레임을 사용한 애니메이션 경로 수정____과제 16.01: 비밀번호 생성기__요약17장 구글 플레이에 앱 출시하기__출시를 위한 앱 준비____앱 버저닝____키스토어 생성____실습 17.01: 안드로이드 스튜디오에서 키스토어 생성____키스토어와 비밀번호 저장____릴리스용 앱 서명____실습 17.02: 서명된 APK 생성____안드로이드 앱 번들____실습 17.03: 서명된 앱 번들 생성____구글 플레이 앱 서명__개발자 계정 생성__구글 플레이에 앱 업로드____스토어 등록 정보 생성____출시 준비____배포__앱 출시 관리____릴리스 트랙____단계적 출시____관리 게시____과제 17.01: 앱 게시__요약