본문 바로가기

도서 소개

핵심만 골라 배우는 안드로이드 스튜디오 Arctic Fox & 프로그래밍

 

최신 안드로이드 스튜디오 설치부터 코틀린 기반의 안드로이드 개발까지!


도서구매 사이트(가나다순)

 [교보문고]  [도서11번가]  [알라딘]  [예스이십사]  [인터파크]  [쿠팡

출판사 제이펍

저작권사 Payload Media
원서명 Android Studio 4.2 Development Essentials(ISBN: 9781951442293)
지은이 닐 스미스

옮긴이 심재철

시리즈 아이러브 모바일 40(IMobile 40) 
출판일 2021년 7월 20일
페이지 936쪽
판   형 46배판변형(188 x 245 x 38)
제   본 무선(soft cover)
정   가 38,000원
ISBN 979-11-91600-13-1 (93000)
키워드 프로그래밍, 모바일, 안드로이드, 코틀린, 안드로이드 스튜디오, 안드로이드 11, Arctic Fox, Bumblebee
분   야 프로그래밍 / 안드로이드 / 코틀린

 

관련 사이트

 아마존 도서소개 페이지

 

관련 포스트

 2021/7/7 - Arctic Fox, Bumblebee, 그리고 C...?

 

관련 시리즈
■ IMobile 시리즈

 

관련 도서

실무에 바로 적용하는 안드로이드 프로그래밍(제4판)

프로페셔널 안드로이드(제4판)

 

관련 파일 다운로드

 예제 코드 다운로드

 

교재 검토용 증정 안내

■ 학교 및 학원에서 교재 선정을 위해 책을 파일로 검토해보고자 하시는 분들은 다음의 페이지에서 신청 양식을 작성해주시기 바랍니다. 확인 후 연락을 드리도록 하겠습니다. http://goo.gl/vBtPo3

 

강의보조 자료

(교재로 채택하신 분들은 메일[textbook@jpub.kr]을 보내주시면 다음의 자료를 보내드리겠습니다.)

■ 본문의 그림과 표


샘플 PDF(표지, 차례, 옮긴이 머리말, 베타리더 후기, 1장 '개요', 2장 '안드로이드 스튜디오 개발 환경 구성하기' 일부, 72장 '폴더블 장치와 다중 창 지원' 일부, 94장 '안드로이드 스튜디오의 그래들 개요' 일부)

핵심만골라배우는안드로이드스튜디오Arctic Fox프로그래밍_sample.pdf
3.53MB

 

정오표 페이지

■ (등록되는 대로 링크를 걸어드리겠습니다)

 

도서구매 사이트(가나다순)

 [교보문고]  [도서11번가]  [알라딘]  [예스이십사]  [인터파크]  [쿠팡

 

도서 소개

최신 안드로이드 스튜디오 설치부터 코틀린 기반의 안드로이드 개발까지!

 

이 책은 최신 안드로이드 스튜디오와 코틀린 프로그래밍 언어 및 안드로이드 핵심 컴포넌트를 사용해서 안드로이드 앱 개발을 하는 데 필요한 내용과 기법을 알려준다.
여러분이 어떤 언어나 형태로든 프로그래밍을 해 본 경험이 있다면 이 책을 읽는 데 문제가 없을 것이다. 윈도우나 맥OS 또는 리눅스가 실행되는 컴퓨터가 있고, 최신 안드로이드 스튜디오를 다운로드할 수 있으면 시작할 준비가 된 것이다.


이 책의 대상 독자
 코틀린 기반으로 안드로이드 앱 개발을 하려는 분
 최신 안드로이드 스튜디오의 기초부터 고급까지를 모두 익히고자 하는 분
 안드로이드 핵심 컴포넌트와 라이브러리를 이용한 안드로이드 프로그래밍을 배우고자 하는 분
 안드로이드 아키텍처 컴포넌트와 같은 최신 안드로이드 컴포넌트를 사용한 안드로이드 앱 개발 기법을 파악하고자 하는 분

 

지은이 소개

닐 스미스(Neil Smyth)
닐 스미스는 20년 이상의 IT 개발 경력을 지녔다. 특히 프로그래밍 언어와 기업용 개발 도구, 사용자 인터페이스 디자인을 전문으로 해 왔으며, 시스템 프로그래밍과 웹 개발, 마케팅까지 담당하기도 했다. 닐은 IT 학사 외에 Network+, Project+, 자바와 마이크로소프트 MCP 자격증들을 가지고 있다. 또한 30여 종의 기술 관련 서적을 집필하였으며, 현재는 미국에서 인터넷 출판과 모바일 애플리케이션 개발 회사인 Payload Media의 공동 창업자이자 CEO로 재직 중이다.

 

옮긴이 소개

심재철

현재 프리랜서로, 데이터베이스/모바일 시스템 관련 컨설팅과 번역을 하고 있다. 또한, 20년 넘게 데이터베이스와 객체지향 시스템 설계 및 개발 프로젝트와 건설/금융 분야 애플리케이션 개발 등에 참여했다. 새로운 테크놀로지와 다양한 프로그래밍 언어를 사용해서 실무에 활용하고 가르치는 것을 좋아한다. 저서로는 《핵심만 골라 배우는 코틀린 프로그래밍》이 있으며, 번역서로는 《실무에 바로 적용하는 안드로이드 프로그래밍(제4판)》, 《스프링 인 액션(제5판)》, 《카프카 핵심 가이드》, 《핵심만 골라 배우는 안드로이드 스튜디오 3 & 프로그래밍》, 《실무에 적용하는 안드로이드 프로그래밍(제2판)》, 《Learn Android Studio》, 《SQLite 마스터북(제2판)》, 《프로 오브젝티브-C 디자인 패턴》, 《세븐 데이터베이스: 만들면서 파악하는 NoSQL》, 《UML 사용자 지침서》, 《Thinking in JAVA 4/e》, 《이펙티브 자바》 등이 있다.

 

차례

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

 

제이펍 소식 더 보기(제이펍의 소통 채널에서 더욱 다양한 소식을 확인하세요!)

  네이버 책  포스트  유튜브  인스타그램  트위터  페이스북