품목정보
발행일 | 2021년 07월 15일 |
---|---|
쪽수, 무게, 크기 | 936쪽 | 188*245*38mm |
ISBN13 | 9791191600131 |
ISBN10 | 1191600130 |
중고샵 판매자가 직접 등록/판매하는 상품으로 판매자가 해당 상품과 내용에 모든 책임을 집니다.
발행일 | 2021년 07월 15일 |
---|---|
쪽수, 무게, 크기 | 936쪽 | 188*245*38mm |
ISBN13 | 9791191600131 |
ISBN10 | 1191600130 |
CHAPTER 1 개요 1 1.1 소스 코드 다운로드하기 2 1.2 단축키와 코드 표기 3 1.3 독자 A/S 3 1.4 오탈자 3 CHAPTER 2 안드로이드 스튜디오 개발 환경 구성하기 4 2.1 개발 시스템 요구 사항 4 2.2 안드로이드 스튜디오 패키지 다운로드하기 4 2.3 안드로이드 스튜디오 설치하기 5 2.4 안드로이드 스튜디오 웰컴 스크린 8 2.5 안드로이드 SDK 패키지 설치하기 9 2.6 명령행에서 안드로이드 SDK 도구 사용하기 12 2.7 안드로이드 스튜디오 메모리 관리 15 2.8 안드로이드 스튜디오와 SDK 버전 업데이트하기 16 2.9 자동 import 설정하기 17 2.10 요약 18 CHAPTER 3 안드로이드 스튜디오로 예제 앱 만들기 19 3.1 프로젝트 개요 19 3.2 새로운 안드로이드 프로젝트 생성하기 19 3.3 액티비티 생성하기 21 3.4 프로젝트 구성하기 21 3.5 예제 앱 변경하기 23 3.6 UI 변경하기 24 3.7 레이아웃과 리소스 파일 살펴보기 30 3.8 코틀린 확장 플러그인 추가하기 33 3.9 버튼의 이벤트 처리하기 34 3.10 요약 35 CHAPTER 4 안드로이드 스튜디오에서 AVD 생성하기 36 4.1 AVD 개요 36 4.2 새로운 AVD 생성하기 37 4.3 에뮬레이터 시작시키기 42 4.4 AVD에서 앱 실행하기 43 4.5 여러 장치에서 앱 실행하기 44 4.6 실행 중인 앱 중단하기 45 4.7 어두운 테마 지원 45 4.8 도구 창에서 에뮬레이터 실행하기 46 4.9 AVD 구성 파일 48 4.10 요약 48 CHAPTER 5 안드로이드 스튜디오 AVD 에뮬레이터 사용 및 구성하기 49 5.1 에뮬레이터 환경 49 5.2 에뮬레이터 툴바 50 5.3 줌 모드 사용하기 51 5.4 에뮬레이터 창의 크기 조정 51 5.5 확장 제어 옵션 51 5.6 스냅샷 사용하기 54 5.7 모의 지문 구성하기 56 5.8 도구 창 모드의 에뮬레이터 58 5.9 요약 58 CHAPTER 6 안드로이드 스튜디오 UI 둘러보기 59 6.1 웰컴 스크린 59 6.2 메인 창 60 6.3 도구 창 62 6.4 안드로이드 스튜디오의 단축키 65 6.5 스위처와 최근 파일 기능을 이용한 내비게이션 66 6.6 안드로이드 스튜디오 테마 변경하기 67 6.7 요약 68 CHAPTER 7 실제 안드로이드 장치에서 앱 테스트하기 69 7.1 ADB 개요 69 7.2 안드로이드 장치에서 ADB 활성화하기 70 7.2.1 맥OS에서 ADB 구성하기 70 7.2.2 윈도우에서 ADB 구성하기 71 7.2.3 리눅스에서 ADB 구성하기 72 7.3 adb 연결 테스트하기 73 7.4 요약 74 CHAPTER 8 안드로이드 스튜디오 코드 편집기 75 8.1 안드로이드 스튜디오 코드 편집기 75 8.2 편집기 창 분할하기 78 8.3 코드 자동 완성 79 8.4 문장 자동 완성 81 8.5 매개변수 정보 81 8.6 매개변수 이름 힌트 81 8.7 코드 자동 생성 82 8.8 코드 접어 감추기 83 8.9 빠른 문서 검색 84 8.10 소스 코드 형식 변경 85 8.11 라이브 템플릿 86 8.12 요약 87 CHAPTER 9 안드로이드 아키텍처 개요 88 9.1 안드로이드 소프트웨어 스택 88 9.2 리눅스 커널 88 9.3 안드로이드 런타임 ― ART 89 9.4 안드로이드 라이브러리 90 9.4.1 C/C++ 라이브러리 91 9.5 앱 프레임워크 91 9.6 앱 92 9.7 요약 92 CHAPTER 10 안드로이드 앱의 핵심 요소 93 10.1 안드로이드 액티비티 93 10.2 안드로이드 프래그먼트 94 10.3 안드로이드 인텐트 94 10.4 브로드캐스트 인텐트 94 10.5 브로드캐스트 수신자 95 10.6 안드로이드 서비스 95 10.7 콘텐트 제공자 96 10.8 앱 매니페스트 96 10.9 앱 리소스 96 10.10 앱 컨텍스트 96 10.11 요약 97 CHAPTER 11 코틀린 개요 98 11.1 코틀린이란? 98 11.2 코틀린과 자바 98 11.3 자바 코드를 코틀린 코드로 변환하기 99 11.4 코틀린과 안드로이드 스튜디오 99 11.5 코틀린 코드 테스트하기 99 11.6 코틀린과 세미콜론 101 11.7 요약 102 CHAPTER 12 코틀린 데이터 타입, 변수, Null 처리 103 12.1 코틀린 데이터 타입 103 12.2 가변 변수 107 12.3 불변 변수 107 12.4 가변 변수와 불변 변수 선언하기 107 12.5 데이터 타입은 객체다 108 12.6 타입 애노테이션과 타입 추론 109 12.7 null 가능 타입 110 12.8 안전 호출 연산자 111 12.9 Not-null 어서션 112 12.10 Null 가능 타입과 let 함수 113 12.11 늦초기화(lateinit) 114 12.12 엘비스 연산자 115 12.13 타입 변환과 타입 검사 115 12.14 요약 116 CHAPTER 13 코틀린 연산자와 표현식 117 13.1 코틀린의 표현식 문법 117 13.2 기본적인 대입 연산자 117 13.3 코틀린 산술 연산자 118 13.4 복합 대입 연산자 118 13.5 증가와 감소 연산자 119 13.6 동등 연산자 120 13.7 논리 연산자 121 13.8 범위 연산자 121 13.9 비트 연산자 122 13.10 요약 125 CHAPTER 14 코틀린 흐름 제어 126 14.1 루프 흐름 제어 126 14.2 조건 흐름 제어 131 14.3 요약 133 CHAPTER 15 코틀린 함수와 람다 개요 134 15.1 함수란? 134 15.2 코틀린 함수 선언하기 134 15.3 코틀린 함수 호출하기 135 15.4 단일 표현식 함수 136 15.5 지역 함수 136 15.6 지명 인자 137 15.7 매개변수 기본값 선언하기 137 15.8 가변 인자 138 15.9 람다식 139 15.10 고차 함수 140 15.11 요약 142 CHAPTER 16 코틀린 객체지향 프로그래밍 143 16.1 객체란? 143 16.2 클래스란? 143 16.3 코틀린 클래스 정의하기 143 16.4 클래스에 속성 추가하기 144 16.5 함수 정의하기 144 16.6 클래스 인스턴스 생성하고 초기화하기 145 16.7 기본과 보조 생성자 145 16.8 초기화 블록 148 16.9 함수 호출과 속성 사용하기 148 16.10 커스텀 접근자 149 16.11 중첩 클래스와 내부 클래스 151 16.12 동반 객체 151 16.13 요약 154 CHAPTER 17 상속과 서브 클래스 155 17.1 상속과 서브 클래스 개요 155 17.2 서브 클래스 생성하기 155 17.3 상속 구현 예 157 17.4 서브 클래스의 기능 확장하기 158 17.5 상속받은 함수 오버라이딩하기 158 17.6 커스텀 보조 생성자 추가하기 160 17.7 SavingsAccount 클래스 사용하기 161 17.8 요약 161 CHAPTER 18 안드로이드 뷰 바인딩 개요 162 18.1 findViewById() 함수와 합성 속성 162 18.2 뷰 바인딩 163 18.3 AndroidSample 프로젝트 변환하기 164 18.4 뷰 바인딩 활성화하기 164 18.5 뷰 바인딩 사용하기 165 18.6 방법 선택하기 166 18.7 예제 프로젝트의 뷰 바인딩 166 18.8 프로젝트에서 뷰 바인딩을 사용하도록 변경하기 166 18.9 요약 167 CHAPTER 19 안드로이드 앱과 액티비티 생명주기 168 19.1 안드로이드 앱과 리소스 관리 168 19.2 안드로이드 프로세스 상태 169 19.3 액티비티 생명주기 170 19.4 액티비티 스택 170 19.5 액티비티 상태 171 19.6 구성 변경 172 19.7 상태 변경 처리하기 172 19.8 요약 172 CHAPTER 20 액티비티 상태 변경 처리하기 174 20.1 최신과 종전의 생명주기 기법 174 20.2 Activity와 Fragment 클래스 174 20.3 동적 상태 vs. 영속적 상태 176 20.4 안드로이드 생명주기 함수 177 20.5 액티비티/프래그먼트 생애 179 20.6 폴더블 장치와 다중 실행 재개 상태 180 20.7 액티비티가 다시 시작되지 않게 하기 181 20.8 생명주기 함수의 제약 181 20.9 요약 182 CHAPTER 21 액티비티 상태 변화 예제 183 21.1 상태 변화 예제 프로젝트 생성하기 183 21.2 사용자 인터페이스 디자인하기 184 21.3 액티비티 생명주기 함수 오버라이딩 185 21.4 로그캣 패널의 메시지 필터링하기 187 21.5 앱 실행하기 188 21.6 액티비티로 실험하기 189 21.7 요약 190 CHAPTER 22 액티비티 상태를 저장하고 복원하기 191 22.1 동적 상태 저장 191 22.2 사용자 인터페이스 상태의 자동 저장과 복원 191 22.3 Bundle 클래스 193 22.4 상태 데이터 저장하기 194 22.5 상태 데이터 복원하기 195 22.6 앱 테스트하기 195 22.7 요약 196 CHAPTER 23 안드로이드 뷰, 뷰 그룹, 레이아웃 197 23.1 서로 다른 안드로이드 장치를 위한 디자인 197 23.2 뷰와 뷰 그룹 197 23.3 안드로이드 레이아웃 매니저 198 23.4 뷰 계층 구조 199 23.5 사용자 인터페이스 생성 200 23.6 요약 201 CHAPTER 24 안드로이드 스튜디오 레이아웃 편집기 살펴보기 202 24.1 Basic vs. Empty 액티비티 템플릿 202 24.2 안드로이드 스튜디오 레이아웃 편집기 206 24.3 디자인 모드 206 24.4 팔레트 207 24.5 디자인 모드와 레이아웃 뷰 208 24.6 코드 모드 209 24.7 분할 모드 210 24.8 속성 설정하기 210 24.9 변형 212 24.10 Tools 속성 설정하기 212 24.11 뷰 변환하기 215 24.12 샘플 데이터 보여 주기 215 24.13 커스텀 장치 정의 생성하기 216 24.14 현재 장치 변경하기 217 24.15 레이아웃 확인(다중 레이아웃 미리보기) 217 24.16 요약 218 CHAPTER 25 안드로이드 ConstraintLayout 개요 219 25.1 ConstraintLayout의 핵심 개념 219 25.2 기준선 정렬 223 25.3 위젯 크기 구성하기 224 25.4 지시선 224 25.5 그룹 225 25.6 베리어 225 25.7 플로우 227 25.8 비율 228 25.9 ConstraintLayout의 장점 228 25.10 ConstraintLayout 가용성 228 25.11 요약 229 CHAPTER 26 안드로이드 스튜디오에서 ConstraintLayout 사용하기 230 26.1 디자인 뷰와 레이아웃 뷰 230 26.2 자동-연결 231 26.3 제약 추론 232 26.4 수동 연결 232 26.5 속성 창에서 제약 추가하기 234 26.6 속성 창에서 제약 보기 234 26.7 제약 삭제하기 234 26.8 제약 바이어스 조정하기 235 26.9 ConstraintLayout 마진 이해하기 235 26.10 상대 제약과 바이어스의 중요성 237 26.11 위젯의 크기 구성하기 239 26.12 디자인 시점의 Tools 속성 적용/미적용 전환하기 240 26.13 지시선 추가하기 241 26.14 베리어 추가하기 243 26.15 그룹 추가하기 244 26.16 플로우 사용하기 245 26.17 위젯의 그룹 정렬 246 26.18 다른 레이아웃을 ConstraintLayout으로 변환하기 246 26.19 요약 247 CHAPTER 27 안드로이드 스튜디오에서 ConstraintLayout 체인과 비율 사용하기 248 27.1 체인 생성하기 248 27.2 체인 스타일 변경하기 251 27.3 Spread inside 체인 스타일 251 27.4 Packed 체인 스타일 251 27.5 바이어스를 사용한 Packed 체인 스타일 252 27.6 Weighted 체인 252 27.7 비율 사용하기 254 27.8 요약 255 CHAPTER 28 ConstraintLayout 예제 프로젝트 256 28.1 ConstraintLayout 예제 프로젝트 생성하기 256 28.2 새로운 액티비티 생성하기 256 28.3 자동-연결 설정과 이미지 파일 추가하기 258 28.4 사용자 인터페이스에 위젯 추가하기 259 28.5 제약 추가하기 262 28.6 레이아웃 테스트하기 264 28.7 레이아웃 탐색기 사용하기 264 28.8 요약 266 CHAPTER 29 XML 레이아웃 직접 작성하기 267 29.1 XML 레이아웃 직접 생성하기 267 29.2 XML 직접 작성 vs. 레이아웃 편집기의 디자인 뷰 사용 271 29.3 요약 271 CHAPTER 30 ConstraintSet으로 ConstraintLayout 사용하기 272 30.1 코틀린 코드 vs. XML 레이아웃 파일 272 30.2 뷰 생성하기 273 30.3 뷰 속성 273 30.4 ConstraintSet 274 30.5 요약 278 CHAPTER 31 안드로이드 ConstraintSet 예제 프로젝트 279 31.1 안드로이드 스튜디오로 예제 프로젝트 생성하기 279 31.2 액티비티에 뷰 추가하기 279 31.3 뷰 속성 설정하기 281 31.4 뷰 id 생성하고 사용하기 282 31.5 제약 설정 구성하기 282 31.6 EditText 뷰 추가하기 284 31.7 dp를 px로 변환하기 285 31.8 요약 286 CHAPTER 32 안드로이드 스튜디오의 ‘변경 적용’ 기능 사용하기 287 32.1 변경 적용 기능 개요 287 32.2 변경 적용 옵션 287 32.3 ‘변경 적용’ 기능 사용하기 288 32.4 변경 적용 설정하기 289 32.5 변경 적용 기능 연습 프로젝트 생성하기 290 32.6 ‘코드 변경 적용’ 기능 사용하기 290 32.7 ‘변경 적용과 액티비티 재시작’ 기능 사용하기 291 32.8 요약 291 CHAPTER 33 안드로이드 이벤트 처리 개요 292 33.1 안드로이드 이벤트 이해하기 292 33.2 android:onClick 리소스 사용하기 293 33.3 이벤트 리스너와 콜백 함수 293 33.4 이벤트 처리 예제 294 33.5 사용자 인터페이스 디자인하기 295 33.6 이벤트 리스너와 콜백 함수 296 33.7 이벤트 소비하기 297 33.8 요약 299 CHAPTER 34 터치와 다중 터치 이벤트 처리하기 300 34.1 터치 이벤트 처리하기 300 34.2 MotionEvent 객체 301 34.3 터치 액션 이해하기 301 34.4 다중 터치 처리하기 302 34.5 다중 터치 앱 생성하기 302 34.6 액티비티 사용자 인터페이스 디자인하기 303 34.7 터치 이벤트 리스너 구현하기 304 34.8 앱 실행하기 306 34.9 요약 307 CHAPTER 35 안드로이드 제스처 감지 클래스로 일반 제스처 처리하기 308 35.1 일반 제스처 감지와 처리하기 308 35.2 제스처 처리 프로젝트 생성하기 309 35.3 리스너 클래스 구현하기 310 35.4 GestureDetectorCompat 인스턴스 생성하기 312 35.5 onTouchEvent() 함수 구현하기 312 35.6 앱 테스트하기 313 35.7 요약 313 CHAPTER 36 커스텀 제스처와 핀치 인식 구현하기 314 36.1 안드로이드 제스처 빌더 앱 314 36.2 GestureOverlayView 클래스 314 36.3 제스처 감지하기 314 36.4 제스처 확인하기 315 36.5 제스처 빌더 앱의 설치와 실행 315 36.6 제스처 파일 생성하기 315 36.7 예제 프로젝트 생성하기 316 36.8 SD 카드 영역에서 제스처 파일 추출하기 316 36.9 제스처 파일을 프로젝트에 추가하기 317 36.10 사용자 인터페이스 디자인하기 317 36.11 제스처 파일 로드하기 318 36.12 이벤트 리스너 등록하기 319 36.13 onGesturePerformed 함수 구현하기 319 36.14 앱 테스트하기 321 36.15 GestureOverlayView 구성하기 321 36.16 제스처 가로채기 321 36.17 핀치 제스처 처리하기 322 36.18 핀치 제스처 예제 프로젝트 322 36.19 요약 325 CHAPTER 37 안드로이드 프래그먼트 개요 326 37.1 프래그먼트란? 326 37.2 프래그먼트 생성하기 326 37.3 레이아웃 XML 파일을 사용하여 액티비티에 프래그먼트 추가하기 328 37.4 코드에서 프래그먼트 추가하고 관리하기 329 37.5 프래그먼트 이벤트 처리하기 331 37.6 프래그먼트 간의 통신 구현하기 332 37.7 요약 333 CHAPTER 38 프래그먼트 사용 예제 프로젝트 335 38.1 예제 프래그먼트 앱 개요 335 38.2 예제 프로젝트 생성하기 335 38.3 첫 번째 프래그먼트 레이아웃 생성하기 336 38.4 뷰 바인딩을 사용하도록 프래그먼트 변경하기 338 38.5 두 번째 프래그먼트 추가하기 339 38.6 액티비티에 프래그먼트 추가하기 340 38.7 ToolbarFragment가 액티비티와 통신하게 만들기 342 38.8 액티비티에서 TextFragment로 통신하기 345 38.9 앱 테스트하기 346 38.10 요약 346 CHAPTER 39 최신 안드로이드 앱 아키텍처: Jetpack 347 39.1 안드로이드 Jetpack이란? 347 39.2 종전 아키텍처 347 39.3 최신 안드로이드 아키텍처 348 39.4 ViewModel 컴포넌트 348 39.5 LiveData 컴포넌트 349 39.6 ViewModel의 상태 저장 350 39.7 LiveData와 데이터 바인딩 350 39.8 안드로이드 생명주기 351 39.9 리포지터리 모듈 351 39.10 요약 352 CHAPTER 40 Jetpack ViewModel 예제 프로젝트 353 40.1 프로젝트 개요 353 40.2 ViewModel 예제 앱 생성하기 353 40.3 프로젝트 살펴보기 354 40.3.1 메인 액티비티 354 40.3.2 콘텐츠 프래그먼트 355 40.3.3 ViewModel 356 40.4 프래그먼트 레이아웃 디자인하기 356 40.5 ViewModel 구현하기 357 40.6 ViewModel에 프래그먼트 연결하기 358 40.7 프래그먼트 변경하기 359 40.8 ViewModel 데이터 사용하기 360 40.9 프로젝트 테스트하기 360 40.10 요약 361 CHAPTER 41 Jetpack LiveData 예제 프로젝트 362 41.1 LiveData 핵심 요약 362 41.2 ViewModel에 LiveData 추가하기 362 41.3 옵저버 구현하기 364 41.4 요약 366 CHAPTER 42 Jetpack 데이터 바인딩 개요 367 42.1 데이터 바인딩 개요 367 42.2 데이터 바인딩의 핵심 구성요소 367 42.3 요약 375 CHAPTER 43 Jetpack 데이터 바인딩 예제 프로젝트 376 43.1 중복 코드 제거하기 376 43.2 데이터 바인딩 활성화하기 377 43.3 레이아웃 요소 추가하기 378 43.4 레이아웃 파일에 데이터 요소 추가하기 379 43.5 바인딩 클래스 사용하기 379 43.6 데이터 바인딩 변수에 ViewModel 인스턴스 지정하기 381 43.7 바인딩 표현식 추가하기 381 43.8 환전 함수 추가하기 382 43.9 리스너 바인딩 추가하기 383 43.10 앱 테스트하기 383 43.11 요약 384 CHAPTER 44 ViewModel 상태 저장 예제 프로젝트 385 44.1 ViewModel 상태 저장 이해하기 385 44.2 ViewModel 상태 저장 구현하기 386 44.3 상태 저장 및 복원하기 387 44.4 ViewModelDemo 프로젝트에 상태 저장 지원 추가하기 388 44.5 요약 390 CHAPTER 45 안드로이드 생명주기-인식 컴포넌트 사용하기 391 45.1 생명주기-인식 391 45.2 생명주기 소유자 392 45.3 생명주기 옵저버 393 45.4 생명주기 상태와 이벤트 393 45.5 요약 395 CHAPTER 46 Jetpack 생명주기-인식 예제 프로젝트 396 46.1 생명주기 예제 프로젝트 생성하기 396 46.2 생명주기 옵저버 생성하기 396 46.3 옵저버 추가하기 398 46.4 옵저버 테스트하기 399 46.5 생명주기 소유자 생성하기 400 46.6 커스텀 생명주기 소유자 테스트하기 402 46.7 요약 402 CHAPTER 47 내비게이션 아키텍처 컴포넌트 개요 403 47.1 내비게이션 이해하기 403 47.2 내비게이션 호스트 선언하기 405 47.3 내비게이션 그래프 406 47.4 내비게이션 컨트롤러 사용하기 408 47.5 내비게이션 액션 실행하기 409 47.6 인자 전달 409 47.7 요약 410 CHAPTER 48 Jetpack 내비게이션 컴포넌트 예제 프로젝트 411 48.1 NavigationDemo 프로젝트 생성하기 411 48.2 빌드 구성에 내비게이션 라이브러리 추가하기 411 48.3 내비게이션 그래프 리소스 파일 생성하기 412 48.4 내비게이션 호스트 선언하기 413 48.5 내비게이션 목적지 추가하기 415 48.6 목적지 프래그먼트 레이아웃 디자인하기 417 48.7 내비게이션 그래프에 액션 추가하기 418 48.8 OnFragmentInteractionListener 구현하기 419 48.9 목적지 프래그먼트에 뷰 바인딩 지원 추가하기 420 48.10 액션 실행하기 421 48.11 Safeargs를 사용한 데이터 전달 422 48.12 요약 426 CHAPTER 49 MotionLayout 개요 427 49.1 MotionLayout이란? 427 49.2 MotionLayout 클래스 427 49.3 MotionScene 428 49.4 ConstraintSet 구성하기 429 49.5 커스텀 속성 430 49.6 애니메이션 시작하기 431 49.7 호 형태의 이동 433 49.8 키 프레임 433 49.9 애니메이션 속도 변경 436 49.10 KeyTrigger 437 49.11 사이클 키 프레임과 시간 사이클 키 프레임 438 49.12 코드에서 애니메이션 시작하기 438 49.13 요약 439 CHAPTER 50 MotionLayout 편집기 예제 프로젝트 440 50.1 MotionLayoutDemo 프로젝트 생성하기 440 50.2 ConstraintLayout을 MotionLayout으로 변환하기 440 50.3 시작과 끝 ConstraintSet 구성하기 442 50.4 MotionLayout 애니메이션 미리보기 444 50.5 OnClick 제스처 추가하기 445 50.6 속성 키 프레임 추가하기 446 50.7 CustomAttribute 추가하기 448 50.8 위치 키 프레임 추가하기 450 50.9 요약 452 CHAPTER 51 MotionLayout KeyCycle 453 51.1 사이클 키 프레임 개요 453 51.2 사이클 편집기 사용하기 457 51.3 KeyCycleDemo 프로젝트 생성하기 459 51.4 시작과 끝 ConstraintSet 구성하기 459 51.5 KeyCycle 생성하기 461 51.6 애니메이션 미리보기 463 51.7 MotionScene 파일에 KeyFrameSet 추가하기 463 51.8 요약 466 CHAPTER 52 플로팅 액션 버튼과 스낵바 사용하기 467 52.1 머티리얼 디자인 467 52.2 디자인 라이브러리 468 52.3 플로팅 액션 버튼(FAB) 468 52.4 스낵바 469 52.5 예제 프로젝트 생성하기 469 52.6 프로젝트 살펴보기 469 52.7 프래그먼트 간의 이동 코드 삭제하기 471 52.8 플로팅 액션 버튼 변경하기 472 52.9 스낵바에 액션 추가하기 473 52.10 요약 474 CHAPTER 53 탭 인터페이스 생성하기 475 53.1 ViewPager2 개요 475 53.2 TabLayout 컴포넌트 개요 475 53.3 TabLayoutDemo 프로젝트 생성하기 476 53.4 첫 번째 프래그먼트 생성하기 477 53.5 프래그먼트 복제하기 478 53.6 TabLayout과 ViewPager2 추가하기 480 53.7 FragmentStateAdapter 생성하기 481 53.8 초기화 작업하기 482 53.9 앱 테스트하기 483 53.10 TabLayout 커스터마이징 484 53.11 요약 485 CHAPTER 54 RecyclerView와 CardView 사용하기 486 54.1 RecyclerView 개요 486 54.2 CardView 개요 489 54.3 요약 490 CHAPTER 55 RecyclerView와 CardView 예제 프로젝트 491 55.1 CardDemo 프로젝트 생성하기 491 55.2 Basic Activity 프로젝트 변경하기 491 55.3 CardView 레이아웃 디자인하기 492 55.4 RecyclerView 추가하기 493 55.5 이미지 파일 추가하기 493 55.6 RecyclerView 어댑터 생성하기 494 55.7 RecyclerView 컴포넌트 초기화하기 496 55.8 앱 테스트하기 498 55.9 카드 선택에 응답하기 498 55.10 요약 499 CHAPTER 56 레이아웃 편집기에서 샘플 데이터 사용하기 500 56.1 프로젝트에 샘플 데이터 추가하기 500 56.2 커스텀 샘플 데이터 사용하기 504 56.3 요약 507 CHAPTER 57 앱 바와 컬랩싱 툴바 레이아웃 사용하기 508 57.1 AppBar 개요 508 57.2 예제 프로젝트 509 57.3 RecyclerView와 Toolbar 연동시키기 509 57.4 컬랩싱 툴바 레이아웃 개요 511 57.5 제목과 스크림 색상 변경하기 514 57.6 요약 515 CHAPTER 58 안드로이드 스튜디오 기본/상세 플로 516 58.1 기본/상세 플로 개요 516 58.2 기본/상세 플로 액티비티 생성하기 518 58.3 기본/상세 플로 템플릿 살펴보기 519 58.4 기본/상세 플로 템플릿 변경하기 520 58.5 콘텐츠 모델 변경하기 520 58.6 상세 패널 변경하기 522 58.7 WebsiteDetailFragment 클래스 변경하기 524 58.8 WebsiteListFragment 클래스 수정하기 525 58.9 매니페스트 퍼미션 추가하기 526 58.10 앱 실행하기 526 58.11 요약 527 CHAPTER 59 안드로이드 인텐트 개요 528 59.1 인텐트 개요 528 59.2 명시적 인텐트 529 59.3 액티비티에서 데이터 반환하기 530 59.4 암시적 인텐트 531 59.5 인텐트 필터 사용하기 532 59.6 인텐트 사용 가능 여부 확인하기 533 59.7 요약 533 CHAPTER 60 명시적 인텐트 예제 프로젝트 535 60.1 예제 프로젝트 생성하기 535 60.2 MainActivity의 사용자 인터페이스 디자인하기 535 60.3 두 번째 액티비티 클래스 생성하기 537 60.4 ActivityB의 사용자 인터페이스 레이아웃 디자인하기 538 60.5 앱의 매니페스트 파일 살펴보기 539 60.6 인텐트 생성하기 540 60.7 인텐트 데이터 추출하기 541 60.8 서브 액티비티로 ActivityB 시작시키기 542 60.9 서브 액티비티에서 데이터 반환하기 543 60.10 앱 테스트하기 544 60.11 요약 544 CHAPTER 61 암시적 인텐트 예제 프로젝트 545 61.1 암시적 인텐트 예제 프로젝트 생성하기 545 61.2 사용자 인터페이스 디자인하기 545 61.3 암시적 인텐트 생성하기 546 61.4 암시적 인텐트로 시작되는 액티비티 생성하기 547 61.5 사용자 인터페이스에 웹 뷰 추가하기 548 61.6 인텐트 URL 얻기 548 61.7 MyWebView 프로젝트의 매니페스트 파일 변경하기 549 61.8 장치에 MyWebView 패키지 설치하기 551 61.9 앱 테스트하기 552 61.10 요약 553 CHAPTER 62 브로드캐스트 인텐트와 브로드캐스트 수신자 554 62.1 브로드캐스트 인텐트 개요 554 62.2 브로드캐스트 수신자 개요 555 62.3 브로드캐스트 수신자로부터 결과 데이터 받기 557 62.4 스티키 브로드캐스트 인텐트 557 62.5 브로드캐스트 인텐트 예제 프로젝트 558 62.6 예제 앱 생성하기 558 62.7 브로드캐스트 인텐트를 생성하고 전송하기 559 62.8 브로드캐스트 수신자 생성하기 559 62.9 브로드캐스트 수신자 등록하기 561 62.10 브로드캐스트 앱 테스트하기 562 62.11 시스템 브로드캐스트 인텐트 리스닝하기 562 62.12 요약 563 CHAPTER 63 스레드와 AsyncTask 564 63.1 스레드 개요 564 63.2 앱의 메인 스레드 564 63.3 스레드 처리 565 63.4 기본적인 AsyncTask 예제 프로젝트 565 63.5 AsyncTask의 서브 클래스 생성하기 567 63.6 앱 테스트하기 570 63.7 작업 취소하기 571 63.8 요약 571 CHAPTER 64 코틀린 코루틴 개요 572 64.1 코루틴이란? 572 64.2 스레드 vs. 코루틴 573 64.3 코루틴 범위 573 64.4 정지 함수 574 64.5 코루틴 디스패처 574 64.6 코루틴 빌더 575 64.7 Job 576 64.8 코루틴의 정지와 실행 재개 576 64.9 코루틴에서 결과 받기 578 64.10 withContext 사용하기 578 64.11 코루틴 채널 통신 580 64.12 요약 581 CHAPTER 65 코틀린 코루틴 예제 프로젝트 582 65.1 코루틴 예제 앱 생성하기 582 65.2 코루틴 지원 라이브러리 추가하기 582 65.3 사용자 인터페이스 디자인하기 583 65.4 SeekBar 구현하기 584 65.5 정지 함수 추가하기 585 65.6 launchCoroutines 함수 구현하기 586 65.7 앱 테스트하기 586 65.8 요약 587 CHAPTER 66 스타트 서비스와 바운드 서비스 개요 588 66.1 스타트 서비스 588 66.2 인텐트 서비스 589 66.3 바운드 서비스 589 66.4 서비스 생명주기 590 66.5 소멸된 서비스 재시작 옵션 제어하기 591 66.6 매니페스트 파일에 서비스 선언하기 591 66.7 시스템 부팅 시 서비스 시작시키기 593 66.8 요약 593 CHAPTER 67 스타트 서비스 구현 예제 프로젝트 594 67.1 예제 프로젝트 생성하기 594 67.2 사용자 인터페이스 디자인하기 594 67.3 Service 클래스 생성하기 595 67.4 매니페스트 파일에 서비스 추가하기 597 67.5 서비스 시작시키기 597 67.6 JobIntentService 테스트하기 598 67.7 Service 클래스 사용하기 599 67.8 새로운 서비스 생성하기 599 67.9 서비스를 시작하도록 변경하기 600 67.10 앱 실행하기 601 67.11 서비스 작업에 코루틴 사용하기 601 67.12 요약 603 CHAPTER 68 로컬 바운드 서비스 예제 프로젝트 604 68.1 바운드 서비스 이해하기 604 68.2 바운드 서비스 상호작용 옵션 604 68.3 로컬 바운드 서비스 예제 프로젝트 605 68.4 프로젝트에 바운드 서비스 추가하기 605 68.5 Binder 구현하기 606 68.6 서비스에 클라이언트 바인딩하기 608 68.7 예제 프로젝트 마무리하기 610 68.8 앱 테스트하기 611 68.9 요약 611 CHAPTER 69 원격 바운드 서비스 예제 프로젝트 612 69.1 클라이언트에서 원격 서비스로 통신하기 612 69.2 예제 앱 생성하기 612 69.3 사용자 인터페이스 디자인하기 613 69.4 원격 바운드 서비스 구현하기 613 69.5 매니페스트 파일에 원격 서비스 구성하기 614 69.6 원격 서비스를 시작시키고 바인딩하기 615 69.7 원격 서비스에 메시지 전송하기 617 69.8 요약 617 CHAPTER 70 안드로이드 알림 개요 618 70.1 알림 개요 618 70.2 NotifyDemo 프로젝트 생성하기 620 70.3 사용자 인터페이스 디자인하기 620 70.4 두 번째 액티비티 생성하기 621 70.5 알림 채널 생성하기 621 70.6 기본 알림을 생성하고 전달하기 623 70.7 알림에서 액티비티 시작시키기 626 70.8 알림에 액션 추가하기 627 70.9 알림 메시지 묶기 628 70.10 요약 630 CHAPTER 71 안드로이드 직접 응답 알림 구현 631 71.1 DirectReply 프로젝트 생성하기 631 71.2 사용자 인터페이스 디자인하기 631 71.3 알림 채널 생성하기 632 71.4 RemoteInput 객체 생성하기 633 71.5 PendingIntent 객체 생성하기 634 71.6 응답 액션 생성하기 635 71.7 직접 응답 입력 데이터 수신하기 637 71.8 알림 변경하기 638 71.9 요약 639 CHAPTER 72 폴더블 장치와 다중 창 지원 640 72.1 폴더블과 다중 창 지원 640 72.2 폴더블 에뮬레이터 사용하기 642 72.3 다중 창 모드로 전환하기 643 72.4 다중 창 지원을 활성화하고 사용하기 644 72.5 자유형식 모드의 지원 여부 확인하기 644 72.6 다중 창 지원을 앱에서 활성화하기 645 72.7 다중 창 관련 속성 지정하기 645 72.8 액티비티에서 다중 창 모드인지 검사하기 646 72.9 다중 창 관련 통지받기 647 72.10 다중 창 모드에서 액티비티 시작시키기 648 72.11 자유형식 모드로 실행되는 액티비티의 크기와 위치 구성하기 648 72.12 요약 649 CHAPTER 73 안드로이드 SQLite 데이터베이스 개요 650 73.1 데이터베이스 테이블 이해하기 650 73.2 데이터베이스 스키마 개요 651 73.3 열과 데이터 타입 651 73.4 데이터베이스 행 651 73.5 기본 키 개요 651 73.6 SQLite란? 652 73.7 SQL 652 73.8 AVD에서 SQLite 사용해 보기 653 73.9 안드로이드 Room 퍼시스턴스 라이브러리 656 73.10 요약 656 CHAPTER 74 안드로이드 Room 퍼시스턴스 라이브러리 657 74.1 최신 앱 아키텍처 다시 보기 657 74.2 Room 데이터베이스 퍼시스턴스의 핵심 요소 658 74.3 엔터티 이해하기 659 74.4 DAO 662 74.5 Room 데이터베이스 664 74.6 리포지터리 665 74.7 인메모리 데이터베이스 665 74.8 데이터베이스 탐색기 666 74.9 요약 666 CHAPTER 75 TableLayout과 TableRow 개요 667 75.1 TableLayout과 TableRow 667 75.2 Room 데이터베이스 프로젝트 생성하기 669 75.3 LinearLayout으로 변환하기 669 75.4 사용자 인터페이스에 TableLayout 추가하기 670 75.5 TableRow 구성하기 670 75.6 레이아웃에 버튼 추가하기 672 75.7 RecyclerView 추가하기 672 75.8 레이아웃 마진 조정하기 673 75.9 요약 674 CHAPTER 76 Room 데이터베이스와 리포지터리 예제 프로젝트 675 76.1 예제 프로젝트 개요 675 76.2 빌드 구성 변경하기 675 76.3 엔터티 생성하기 676 76.4 DAO 생성하기 678 76.5 Room 데이터베이스 추가하기 679 76.6 리포지터리 추가하기 680 76.7 ViewModel 변경하기 683 76.8 제품 항목 레이아웃 생성하기 685 76.9 RecyclerView 어댑터 추가하기 685 76.10 MainFragment 변경하기 686 76.11 버튼 리스너 추가하기 688 76.12 LiveData 옵저버 추가하기 689 76.13 RecyclerView 초기화하기 690 76.14 RoomDemo 앱 테스트하기 690 76.15 데이터베이스 탐색기 사용하기 690 76.16 요약 692 CHAPTER 77 구글 클라우드 스토리지 액세스하기 693 77.1 스토리지 액세스 프레임워크 693 77.2 스토리지 액세스 프레임워크 사용하기 694 77.3 피커의 파일 내역 선별하기 694 77.4 인텐트 결과 처리하기 696 77.5 파일 내용 읽기 696 77.6 파일에 내용 쓰기 697 77.7 파일 삭제하기 698 77.8 파일의 지속적인 액세스 얻기 698 77.9 요약 699 CHAPTER 78 안드로이드 스토리지 액세스 프레임워크 예제 프로젝트 700 78.1 스토리지 액세스 프레임워크 예제 프로젝트 개요 700 78.2 스토리지 액세스 프레임워크 예제 프로젝트 생성 700 78.3 사용자 인터페이스 디자인하기 701 78.4 요청 코드 선언하기 702 78.5 새로운 스토리지 파일 생성하기 702 78.6 onActivityResult() 함수 703 78.7 스토리지 파일에 데이터 저장하기 705 78.8 스토리지 파일 열고 읽기 707 78.9 스토리지 액세스 앱 테스트하기 709 78.10 요약 710 CHAPTER 79 동영상 재생 구현하기 711 79.1 안드로이드 VideoView 클래스 개요 711 79.2 안드로이드 MediaController 클래스 개요 712 79.3 동영상 재생 예제 프로젝트 생성하기 713 79.4 VideoPlayer 앱의 레이아웃 디자인하기 713 79.5 동영상 파일 다운로드하기 714 79.6 VideoView 구성하기 715 79.7 VideoView에 MediaController 추가하기 716 79.8 onPreparedListener 설정하기 717 79.9 요약 718 CHAPTER 80 안드로이드 PiP 모드 719 80.1 PiP 모드의 기능 719 80.2 PiP 모드 활성화하기 720 80.3 PiP 매개변수 구성하기 721 80.4 PiP 모드 진입하기 721 80.5 PiP 모드 변경 감지하기 722 80.6 PiP 액션 추가하기 722 80.7 요약 723 CHAPTER 81 안드로이드 PiP 예제 프로젝트 724 81.1 PiP 지원 활성화하기 724 81.2 PiP 버튼 추가하기 724 81.3 PiP 모드 진입하기 725 81.4 PiP 모드 변경 감지하기 727 81.5 브로드캐스트 수신자 추가하기 727 81.6 PiP 액션 추가하기 729 81.7 PiP 액션 테스트하기 731 81.8 요약 731 CHAPTER 82 런타임 퍼미션 요청하기 732 82.1 보통 퍼미션과 위험 퍼미션 이해하기 732 82.2 퍼미션 예제 프로젝트 생성하기 734 82.3 퍼미션 확인하기 734 82.4 런타임 시에 퍼미션 요청하기 736 82.5 퍼미션 요청 이유 제공하기 737 82.6 퍼미션 앱 테스트하기 739 82.7 요약 739 CHAPTER 83 안드로이드 오디오 녹음 및 재생하기 740 83.1 오디오 재생하기 740 83.2 MediaRecorder 클래스를 사용해서 오디오 녹음하기 741 83.3 예제 프로젝트 개요 743 83.4 AudioApp 프로젝트 생성하기 743 83.5 사용자 인터페이스 디자인하기 743 83.6 마이크 확인하기 744 83.7 액티비티 초기화하기 745 83.8 recordAudio() 함수 구현하기 747 83.9 stopAudio() 함수 구현하기 747 83.10 playAudio() 함수 구현하기 748 83.11 매니페스트 파일에 퍼미션 구성하기 748 83.12 앱 테스트하기 751 83.13 요약 751 CHAPTER 84 안드로이드 인쇄 프레임워크 사용하기 752 84.1 안드로이드 인쇄 아키텍처 752 84.2 인쇄 서비스 플러그인 752 84.3 구글 클라우드 인쇄 753 84.4 구글 드라이브로 인쇄하기 754 84.5 PDF로 저장하기 754 84.6 안드로이드 장치에서 인쇄하기 754 84.7 안드로이드 앱에 포함되는 인쇄 지원 옵션 755 84.7.1 이미지 인쇄 755 84.7.2 HTML 콘텐츠 생성과 인쇄 756 84.7.3 기존 웹 페이지 인쇄하기 758 84.7.4 커스텀 문서 인쇄하기 759 84.8 요약 759 CHAPTER 85 HTML과 웹 콘텐츠 인쇄 예제 프로젝트 760 85.1 HTML 인쇄 예제 앱 생성하기 760 85.2 동적 HTML 콘텐츠 인쇄하기 760 85.3 기존 웹 페이지 인쇄 예제 앱 생성하기 763 85.4 플로팅 액션 버튼 삭제하기 763 85.5 프래그먼트 간의 이동 코드 삭제하기 764 85.6 사용자 인터페이스 레이아웃 디자인하기 765 85.7 메인 액티비티에서 WebView 사용하기 766 85.8 WebView에 웹 페이지 로드하기 766 85.9 인쇄 메뉴 옵션 추가하기 767 85.10 요약 769 CHAPTER 86 안드로이드 커스텀 문서 인쇄 770 86.1 안드로이드 커스텀 문서 인쇄 개요 770 86.1.1 커스텀 인쇄 어댑터 771 86.2 커스텀 문서 인쇄 프로젝트 준비하기 771 86.3 커스텀 인쇄 어댑터 생성하기 772 86.4 onLayout() 콜백 함수 구현하기 773 86.5 onWrite() 콜백 함수 구현하기 777 86.6 페이지가 인쇄 범위에 있는지 확인하기 779 86.7 페이지 캔버스에 콘텐츠 그리기 780 86.8 인쇄 작업 시작시키기 782 86.9 앱 테스트하기 783 86.10 요약 784 CHAPTER 87 안드로이드 앱 링크 785 87.1 안드로이드 앱 링크 개요 785 87.2 앱 링크 인텐트 필터 785 87.3 앱 링크 인텐트 처리하기 786 87.4 앱을 웹사이트와 연관시키기 787 87.5 요약 788 CHAPTER 88 앱 링크 예제 프로젝트 789 88.1 예제 앱에 관하여 789 88.2 데이터베이스 스키마 789 88.3 프로젝트 실행하기 790 88.4 URL 매핑 추가하기 791 88.5 인텐트 필터 추가하기 793 88.6 인텐트 처리 코드 추가하기 794 88.7 앱 링크 테스트하기 797 88.8 앱 링크를 웹사이트에 연결하기 798 88.9 요약 800 CHAPTER 89 안드로이드 스튜디오 프로파일러 801 89.1 안드로이드 프로파일러 사용하기 801 89.2 최신 프로파일링 활성화하기 801 89.3 안드로이드 프로파일러 도구 창 802 89.4 Sessions 패널 803 89.5 CPU 프로파일러 804 89.6 메모리 프로파일러 808 89.7 네트워크 프로파일러 809 89.8 에너지 프로파일러 810 89.9 요약 811 CHAPTER 90 안드로이드 생체 인증 812 90.1 생체 인증 개요 812 90.2 생체 인증 프로젝트 생성하기 813 90.3 장치의 지문 인증 구성하기 813 90.4 매니페스트 파일에 생체 퍼미션 추가하기 814 90.5 사용자 인터페이스 디자인하기 814 90.6 Toast 메시지를 보여 줄 함수 추가하기 815 90.7 장치의 보안 설정 확인하기 816 90.8 인증 콜백 구성하기 817 90.9 CancellationSignal 추가하기 818 90.10 생체 인증 시작시키기 818 90.11 앱 테스트하기 819 90.12 요약 820 CHAPTER 91 안드로이드 앱 번들 생성, 테스트, 업로딩 821 91.1 앱 출시 준비 절차 821 91.2 안드로이드 앱 번들 821 91.3 구글 플레이 개발자 콘솔 계정 등록하기 822 91.4 콘솔에서 앱 구성하기 823 91.5 구글 플레이 앱 서명 활성화하기 824 91.6 키스토어 파일 생성하기 825 91.7 안드로이드 앱 번들 생성하기 827 91.8 테스트 APK 파일 생성하기 829 91.9 구글 플레이 개발자 콘솔에 앱 번들 업로드하기 830 91.10 앱 번들 살펴보기 831 91.11 테스터 관리하기 832 91.12 테스트를 위한 앱 출시 833 91.13 새 버전의 앱 번들 업로드하기 833 91.14 앱 번들 파일 분석하기 835 91.15 요약 836 CHAPTER 92 안드로이드 동적 기능 모듈 837 92.1 동적 기능 모듈 개요 837 92.2 동적 기능 모듈 아키텍처 838 92.3 동적 기능 모듈 생성하기 839 92.4 기존 모듈을 동적 기능 모듈로 변환하기 841 92.5 동적 기능 모듈 사용하기 844 92.6 대형 동적 기능 모듈 처리하기 846 92.7 요약 847 CHAPTER 93 동적 기능 모듈 예제 프로젝트 848 93.1 DynamicFeature 프로젝트 생성하기 848 93.2 프로젝트에 동적 기능 지원 추가하기 848 93.3 기본 액티비티 UI 디자인하기 850 93.4 동적 기능 모듈 추가하기 851 93.5 동적 기능 모듈 살펴보기 852 93.6 동적 기능 모듈 액티비티 추가하기 854 93.7 launchFeature() 함수 구현하기 857 93.8 테스트를 위해 앱 번들 업로드하기 858 93.9 installFeature() 함수 구현하기 859 93.10 업데이트 리스너 추가하기 861 93.11 대형 다운로드 처리하기 864 93.12 지연 설치 사용하기 866 93.13 동적 기능 모듈 제거하기 866 93.14 요약 866 CHAPTER 94 안드로이드 스튜디오의 그래들 개요 867 94.1 그래들 개요 867 94.2 그래들과 안드로이드 스튜디오 868 94.2.1 합리적인 디폴트 868 94.2.2 의존성 868 94.2.3 빌드 변이 869 94.2.4 매니페스트 항목 869 94.2.5 APK 서명하기 869 94.2.6 ProGuard 지원 869 94.3 최상위 수준의 그래들 빌드 파일 869 94.4 모듈 수준의 그래들 빌드 파일 870 94.5 빌드 파일에 서명 설정 구성하기 873 94.6 명령행에서 그래들 작업 실행하기 875 94.7 요약 876 찾아보기 878 |
배송 구분 |
판매자 배송
|
---|---|
배송 안내 |
|
상품 설명에 반품/교환과 관련한 안내가 있는경우 아래 내용보다 우선합니다. (업체 사정에 따라 달라질 수 있습니다)
반품/교환 방법 |
|
---|---|
반품/교환 가능기간 |
|
반품/교환 비용 |
|
반품/교환 불가사유 |
|
소비자 피해보상 |
|
환불 지연에 따른 배상 |
|