본문 바로가기

도서 소개

핵심만 골라 배우는 젯팩 컴포즈

젯팩 컴포즈, 안드로이드 스튜디오, 코틀린으로 안드로이드 앱 개발하기

쉽게 따라 할 수 있도록 자세히 설명한 국내 최초 젯팩 컴포즈 전문서

 

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

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

 

출판사 제이펍
저작권사 Payload Media
원서명 Jetpack Compose Essentials(원서 ISBN 9781951442378)
도서명 핵심만 골라 배우는 젯팩 컴포즈
부   제 젯팩 컴포즈, 안드로이드 스튜디오, 코틀린으로 안드로이드 앱 개발하기
지은이 닐 스미스
옮긴이 김모세
감수자 (없음)
시리즈 IMobile 41
출판일 2022년 12월 16일
페이지 592쪽
판   형 46배판변형(188*245*28.7)
제   본 무선(soft cover)
정   가 32,000원
ISBN 979-11-92469-55-3 (93000)
키워드 모바일, 안드로이드, 코틀린, 안드로이드 스튜디오, 컴포즈, Jetpack, Compose, Dolphin
분   야 프로그래밍 / 안드로이드 / 코틀린

 

관련 사이트
아마존 도서소개 페이지
젯팩 컴포즈(Jetpack Compose) 소개 페이지

관련 포스트
지금까지 없었던 Jetpack, 젯팩 컴포즈


관련 시리즈
IMobile 시리즈

관련 도서
핵심만 골라 배우는 안드로이드 스튜디오 Arctic Fox & 프로그래밍
실무에 바로 적용하는 안드로이드 프로그래밍(제4판)

 

관련 파일 다운로드
예제 코드 다운로드

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

강의 보조 자료(교재로 채택하신 분들은 메일(textbook@jpub.kr)을 보내주시면 다음 자료를 보내드립니다.)
■ 본문의 그림과 표

미리보기(앞부속, 1장 '들어가며', 3장 '컴포즈 프로젝트 개요', 11장 '코틀린 개요', 18장 '컴포즈 개요' 일부)

핵심만골라배우는젯팩컴포즈_sample.pdf
2.29MB

정오표 페이지
https://jpub.tistory.com/1364

 

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

도서 소개 

쉽게 따라 할 수 있도록 자세히 설명한 국내 최초 젯팩 컴포즈 전문서 

  • 젯팩 컴포즈, 안드로이드 스튜디오, 코틀린 프로그래밍 언어를 활용해 안드로이드 애플리케이션을 구축한다.
  • 젯팩 컴포즈 및 안드로이드 아키텍처의 핵심 개념을 이해하고, 컴포즈 개발 모드에서 다양한 컴포저블을 활용해 사용자 인터페이스 레이아웃을 구현한다.
  • 뷰 모델, SQLite 데이터베이스, Room 데이터베이스 접근, 데이터베이스 인스펙터, 라이브 데이터, 커스텀 테마 생성을 다룬다.
  • 상태 프로퍼티를 활용한 데이터 처리와 함께 모디파이어, 내비게이션 바, 사용자 인터페이스 내비게이션 등 핵심적인 사용자 인터페이스 설계 개념을 살펴보고 재사용할 수 있는 커스텀 레이아웃 컴포넌트를 구현한다.
  • 그래픽 그리기, 사용자 인터페이스 애니메이션, 제스처 핸들링을 살펴본다.
  • 데이터 타입, 연산자, 제어 흐름, 함수, 람다, 객체 지향 프로그래밍을 포함해 코틀린 프로그래밍 언어에 대하여 자세히 설명한다.
  • 구현한 앱을 패키징하고 구글 플레이 스토어에 업로드해서 배포하는 과정을 살펴본다.

지은이 소개

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

 

옮긴이 소개

김모세
소프트웨어 엔지니어, 소프트웨어 품질 엔지니어, 애자일 코치 등 다양한 영역에서 소프트웨어 개발에 참여했다. 재미있는 일, 나와 조직이 성장하고 성과를 내도록 돕는 일에 보람을 느끼며 스스로에게 도전하고 더 나은 사람이 되기 위해 항상 노력하고 있다. 옮긴 책으로는 《AWS로 시작하는 인프라 구축의 정석》, 《전문가를 위한 파이썬 프로그래밍》, 《그림으로 공부하는 TCP/IP 구조》, 《라라벨 실전 웹 애플리케이션 개발》 등이 있다.

 

차례

옮긴이 머리말 xxiv

베타리더 후기 xxv

 

CHAPTER 1 들어가며 1

1.1 코틀린 개발자에게 2

1.2 코틀린을 처음 접하는 개발자에게 2

1.3 샘플 코드 다운로드 2

 

CHAPTER 2 안드로이드 스튜디오 개발 환경 설정 3

2.1 시스템 요구사항 3

2.2 안드로이드 스튜디오 패키지 다운로드 4

2.3 안드로이드 스튜디오 설치 4

2.4 안드로이드 스튜디오 설치 마법사 6

2.5 추가 안드로이드 SDK 패키지 설치하기 8

2.6 커맨드라인에서 안드로이드 SDK 도구에 접근할 수 있도록 설정하기 10

2.7 안드로이드 스튜디오 메모리 관리 13

2.8 안드로이드 스튜디오 및 SDK 업데이트 14

2.9 정리 14

 

더보기

CHAPTER 3 컴포즈 프로젝트 개요 15

3.1 프로젝트 개요 15

3.2 프로젝트 만들기 16

3.3 액티비티 만들기 16

3.4 프로젝트 및 SDK 설정 정의하기 17

3.5 예제 프로젝트 미리 보기 19

3.6 메인 액티비티 살펴보기 21

3.7 미리 보기 업데이트 25

3.8 정리 26

 

CHAPTER 4 컴포즈 예제 프로젝트 27

4.1 시작하기 27

4.2 템플릿 코드 삭제하기 27

4.3 컴포저블의 계층 구조 28

4.4 DemoText 컴포저블 추가하기 29

4.5 DemoText 컴포저블 미리 보기 30

4.6 DemoSlider 컴포저블 추가하기 31

4.7 DemoScreen 컴포저블 추가하기 32

4.8 DemoScreen 컴포저블 미리 보기 34

4.9 대화형 모드에서 테스트하기 35

4.10 프로젝트 완료하기 36

4.11 정리 36

 

CHAPTER 5 안드로이드 스튜디오에서 AVD 만들기 37

5.1 안드로이드 가상 기기 개요 37

5.2 에뮬레이터 시작하기 39

5.3 AVD에서 애플리케이션 실행하기 40

5.4 여러 기기에서 실행하기 42

5.5 애플리케이션 실행 중지하기 43

5.6 다크 테마 지원하기 43

5.7 별도의 창에서 에뮬레이터 실행하기 44

5.8 기기 프레임 활성화하기 46

5.9 정리 46

 

CHAPTER 6 안드로이드 스튜디오 에뮬레이터 이용 및 설정하기 47

6.1 에뮬레이터 환경 47

6.2 에뮬레이터 툴바 옵션 48

6.3 줌 모드 다루기 49

6.4 에뮬레이터 창 크기 조정하기 49

6.5 확장 제어 옵션 49

6.6 스냅샷 다루기 52

6.7 지문 에뮬레이션 설정하기 53

6.8 도구 창 모드의 에뮬레이터 55

6.9 정리 55

 

CHAPTER 7 안드로이드 스튜디오 사용자 인터페이스 살펴보기 56

7.1 시작 화면 56

7.2 기본 창 57

7.3 도구 창 59

7.4 안드로이드 스튜디오 키보드 단축키 62

7.5 스위처 및 최근 파일 탐색 63

7.6 안드로이드 스튜디오 테마 변경하기 64

7.7 정리 65

 

CHAPTER 8 물리적 안드로이드 기기에서 안드로이드 스튜디오 앱 테스트하기 66

8.1 ADB 개요 66

8.2 안드로이드 기기에서 USB 디버깅 ADB 활성화하기 67

8.3 USB 연결 문제 해결하기 70

8.4 안드로이드 기기의 무선 디버깅 활성화하기 71

8.5 adb 연결 테스트하기 73

8.6 정리 73

 

CHAPTER 9 안드로이드 스튜디오 코드 편집기 기본 74

9.1 안드로이드 스튜디오 편집기 74

9.2 코드 모드 78

9.3 편집기 창 분리하기 78

9.4 코드 자동 완성 79

9.5 스테이트먼트 자동 완성 80

9.6 파라미터 정보 81

9.7 파라미터 이름 힌트 81

9.8 코드 생성 81

9.9 코드 접기 83

9.10 빠른 문서 탐색 84

9.11 코드 형식 재지정 85

9.12 샘플 코드 찾기 86

9.13 실시간 템플릿 86

9.14 정리 87

 

CHAPTER 10 안드로이드 아키텍처 개요 88

10.1 안드로이드 소프트웨어 스택 88

10.2 리눅스 커널 89

10.3 안드로이드 런타임(ART) 89

10.4 안드로이드 라이브러리 89

10.5 애플리케이션 프레임워크 90

10.6 애플리케이션 91

10.7 정리 91

 

CHAPTER 11 코틀린 개요 92

11.1 코틀린이란 무엇인가? 92

11.2 코틀린과 자바 93

11.3 자바에서 코틀린으로 변환하기 93

11.4 코틀린과 안드로이드 스튜디오 93

11.5 코틀린을 이용해 실험하기 94

11.6 코틀린에서의 세미콜론 95

11.7 정리 95

 

CHAPTER 12 코틀린 데이터 타입, 변수, 널 허용 96

12.1 코틀린 데이터 타입 96

12.2 뮤터블 변수 100

12.3 이뮤터블 변수 100

12.4 뮤터블/이뮤터블 변수 선언하기 100

12.5 데이터 타입은 객체다 101

12.6 타입 애너테이션과 타입 추론 102

12.7 널 허용 타입 103

12.8 안전 호출 연산자 104

12.9 not-null 어서션 105

12.10 널 허용 타입과 let 함수 105

12.11 초기화 지연 107

12.12 엘비스 연산자 108

12.13 타입 캐스팅 및 타입 확인 108

12.14 정리 109

 

CHAPTER 13 코틀린 연산자와 표현식 110

13.1 코틀린의 표현식 구문 110

13.2 기본 할당 연산자 110

13.3 코틀린 산술 연산자 111

13.4 증강 할당 연산자 111

13.5 증가/감소 연산자 112

13.6 등치 연산자 113

13.7 부울 논리 연산자 114

13.8 범위 연산자 114

13.9 비트와이즈 연산자 115

13.10 정리 118

 

CHAPTER 14 코틀린 제어 흐름 119

14.1 반복 제어 흐름 119

14.2 조건부 제어 흐름 124

14.3 정리 127

 

CHAPTER 15 코틀린 함수와 람다 128

15.1 함수란 무엇인가? 128

15.2 코틀린에서의 함수 선언 128

15.3 코틀린 함수 호출하기 129

15.4 단일 표현식 함수 130

15.5 로컬 함수 130

15.6 반환값 다루기 131

15.7 기본 함수 파라미터 선언하기 131

15.8 가변 길이 함수 파라미터 132

15.9 람다 표현식 132

15.10 고차 함수 134

15.11 정리 135

 

CHAPTER 16 코틀린 객체 지향 프로그래밍 기초 136

16.1 객체란 무엇인가? 136

16.2 클래스란 무엇인가? 136

16.3 코틀린 클래스 정의하기 136

16.4 클래스에 프로퍼티 추가하기 137

16.5 메서드 정의하기 138

16.6 클래스 인스턴스 선언 및 초기화하기 138

16.7 기본 및 보조 생성자 138

16.8 초기화 블록 141

16.9 메서드 호출과 프로퍼티 접근 141

16.10 커스텀 접근자 142

16.11 중첩된 내부 클래스 143

16.12 컴패니언 객체 144

16.13 정리 146

 

CHAPTER 17 상속과 서브클래싱 147

17.1 상속, 클래스, 서브클래스 147

17.2 서브클래싱 구문 147

17.3 코틀린 상속 예시 149

17.4 서브클래스 기능 확장하기 150

17.5 상속된 메서드 오버라이드하기 150

17.6 커스텀 보조 생성자 추가하기 152

17.7 SavingsAccount 클래스 이용하기 153

17.8 정리 153

 

CHAPTER 18 컴포즈 개요 154

18.1 컴포즈 이전의 개발 154

18.2 컴포즈의 선언적 구문 155

18.3 컴포즈는 데이터 주도적이다 156

18.4 정리 156

 

CHAPTER 19 컴포저블 함수 개요 157

19.1 컴포저블 함수란 무엇인가? 157

19.2 상태 컴포저블과 비상태 컴포저블 158

19.3 컴포저블 함수 구문 158

19.4 파운데이션 컴포저블과 머티리얼 컴포저블 161

19.5 정리 162

 

CHAPTER 20 컴포즈 상태와 재구성 163

20.1 상태 163

20.2 재구성 163

20.3 StateExample 프로젝트 만들기 164

20.4 컴포저블에서 상태 선언하기 164

20.5 단방향 데이터 흐름 168

20.6 상태 호이스팅 170

20.7 환경 설정 변경을 통한 상태 저장하기 173

20.8 정리 174

 

CHAPTER 21 CompositionLocal 175

21.1 CompositionLocal 이해하기 175

21.2 CompositionLocal 이용하기 176

21.3 CompLocalDemo 프로젝트 만들기 177

21.4 레이아웃 디자인하기 178

21.5 CompositionLocal 상태 추가하기 179

21.6 CompositionLocal 상태에 접근하기 180

21.7 디자인 테스트하기 180

21.8 정리 182

 

CHAPTER 22 컴포즈 Slot API 183

22.1 Slot API 이해하기 183

22.2 Slot API 선언하기 184

22.3 Slot API 컴포저블 호출하기 185

22.4 정리 186

 

CHAPTER 23 컴포즈 Slot API 튜토리얼 187

23.1 프로젝트 개요 187

23.2 SlotApiDemo 프로젝트 만들기 187

23.3 MainActivity 클래스 파일 준비하기 187

23.4 MainScreen 컴포저블 만들기 188

23.5 ScreenContent 컴포저블 추가하기 189

23.6 Checkbox 컴포저블 만들기 190

23.7 ScreenContent Slot API 구현하기 192

23.8 이미지 drawable 리소스 추가하기 193

23.9 TitleImage 컴포저블 만들기 195

23.10 MainScreen 컴포저블 완료하기 195

23.11 프로젝트 미리 보기 197

23.12 정리 198

 

CHAPTER 24 모디파이어 이용하기 199

24.1 모디파이어 199

24.2 ModifierDemo 프로젝트 만들기 200

24.3 모디파이어 만들기 201

24.4 모디파이어 연결 순서 202

24.5 컴포저블에 모디파이어 지원 추가하기 203

24.6 공통 내장 모디파이어 207

24.7 모디파이어 조합하기 208

24.8 정리 209

 

CHAPTER 25 Row/Column을 이용해 레이아웃 구성하기 210

25.1 RowColDemo 프로젝트 만들기 210

25.2 Row 컴포저블 211

25.3 Column 컴포저블 212

25.4 Row􏘙 Column 컴포저블 조합하기 212

25.5 레이아웃 정렬 214

25.6 레이아웃 배열 위치 조정하기 216

25.7 레이아웃 배열 간격 조정하기 218

25.8 Row􏘙 Column 스코프 모디파이어 219

25.9 스코프 모디파이어 가중치 224

25.10 정리 225

 

CHAPTER 26 Box 레이아웃 226

26.1 Box 컴포저블 226

26.2 BoxLayout 프로젝트 만들기 226

26.3 TextCell 컴포저블 추가하기 227

26.4 Box 레이아웃 추가하기 227

26.5 Box 정렬 229

26.6 BoxScope 모디파이어 230

26.7 clip() 모디파이어 이용하기 231

26.8 정리 233

 

CHAPTER 27 커스텀 레이아웃 모디파이어 234

27.1 컴포즈 레이아웃 기본 234

27.2 커스텀 레이아웃 235

27.3 LayoutModifier 프로젝트 만들기 235

27.4 ColorBox 컴포저블 추가하기 235

27.5 커스텀 레이아웃 모디파이어 만들기 236

27.6 기본 위치 237

27.7 레이아웃 모디파이어 완성하기 237

27.8 커스텀 모디파이어 이용하기 239

27.9 정렬 선 다루기 239

27.10 베이스라인 다루기 242

27.11 정리 243

 

CHAPTER 28 커스텀 레이아웃 구현하기 244

28.1 커스텀 레이아웃 개요 244

28.2 커스텀 레이아웃 구문 244

28.3 커스텀 레이아웃 이용하기 246

28.4 CustomLayout 프로젝트 만들기 246

28.5 CascadeLayout 컴포저블 만들기 247

28.6 CascadeLayout 컴포저블 이용하기 249

28.7 정리 250

 

CHAPTER 29 ConstraintLayout 251

29.1 ConstraintLayout 소개 251

29.2 ConstraintLayout 동작 원리 251

29.3 크기 설정하기 255

29.4 가이드라인 헬퍼 256

29.5 배리어 헬퍼 256

29.6 정리 258

 

CHAPTER 30 ConstraintLayout 다루기 259

30.1 ConstraintLayout 호출하기 259

30.2 참조 만들기 259

30.3 참조를 컴포저블에 할당하기 260

30.4 제약 추가하기 260

30.5 ConstraintLayout 프로젝트 만들기 261

30.6 ConstraintLayout 라이브러리 추가하기 262

30.7 커스텀 버튼 컴포저블 추가하기 262

30.8 기본 제약 263

30.9 반대 제약 264

30.10 제약 편향 266

30.11 제약 마진 267

30.12 반대 제약과 편향의 중요성 268

30.13 체인 만들기 271

30.14 가이드라인 이용하기 272

30.15 배리어 이용하기 273

30.16 제약 집합을 이용해 제약 연결 끊기 277

30.17 정리 279

 

CHAPTER 31 IntrinsicSize 다루기 280

31.1 내재적 측정값 280

31.2 내재적 최대 및 최소 크기 측정값 281

31.3 예시 프로젝트 개요 282

31.4 IntrinsicSizeDemo 프로젝트 만들기 282

31.5 커스텀 텍스트 필드 만들기 282

31.6 Text, Box 컴포넌트 추가하기 283

31.7 최상위 Column 추가하기 284

31.8 프로젝트 테스트하기 285

31.9 IntrinsicSize􏘛Max 측정값 적용하기 285

31.10 IntrinsicSize􏘛Min 측정값 적용하기 286

31.11 정리 286

 

CHAPTER 32 코루틴과 LaunchedEffect 287

32.1 코루틴이란? 287

32.2 스레드와 코루틴 288

32.3 코루틴 스코프 288

32.4 일시 중단 함수 289

32.5 코루틴 디스패처 289

32.6 코루틴 빌더 290

32.7 291

32.8 코루틴: 중지 및 재시작 291

32.9 코루틴 채널 커뮤니케이션 293

32.10 부작용 이해하기 293

32.11 정리 295

 

CHAPTER 33 리스트와 그리드 296

33.1 표준 리스트와 지연 리스트 296

33.2 Column􏘙 Row 리스트 다루기 297

33.3 지연 리스트 만들기 297

33.4 ScrollState를 이용해 스크롤 활성화하기 298

33.5 프로그래밍적 스크롤 299

33.6 스티키 헤더 301

33.7 스크롤 위치에 반응하기 303

33.8 지연 그리드 만들기 303

33.9 정리 306

 

CHAPTER 34 컴포즈 Row/Column 리스트 튜토리얼 307

34.1 ListDemo 프로젝트 만들기 307

34.2 Column 기반 리스트 만들기 307

34.3 리스트 스크롤 활성화하기 309

34.4 수동 스크롤 310

34.5 Row 리스트 예시 312

34.6 정리 313

 

CHAPTER 35 지연 리스트 튜토리얼 314

35.1 LazyListDemo 프로젝트 만들기 314

35.2 프로젝트에 리스트 데이터 추가하기 315

35.3 XML 데이터 읽기 316

35.4 이미지 로딩 처리하기 317

35.5 리스트 아이템 컴포저블 디자인하기 320

35.6 지연 리스트 만들기 321

35.7 프로젝트 테스트하기 322

35.8 리스트 아이템 클릭하기 322

35.9 정리 324

 

CHAPTER 36 지연 리스트가 제공하는 스티키 헤더와 스크롤 식별 325

36.1 리스트 아이템 데이터 그룹핑하기 325

36.2 헤더와 아이템 표시하기 325

36.3 스티키 헤더 추가하기 326

36.4 스크롤 위치에 반응하기 328

36.5 스크롤 버튼 추가하기 329

36.6 완성한 앱 테스트하기 331

36.7 정리 331

 

CHAPTER 37 시각적 애니메이션 332

37.1 AnimateVisibility 프로젝트 만들기 332

37.2 시각적 애니메이션 적용하기 333

37.3 진입/이탈 애니메이션 정의하기 336

37.4 애니메이션 스펙과 애니메이션 이징 337

37.5 애니메이션 반복하기 339

37.6 자식별로 각각 애니메이션 적용하기 339

37.7 애니메이션 자동 시작하기 341

37.8 교차 페이딩 구현하기 342

37.9 정리 343

 

CHAPTER 38 상태 주도 애니메이션 344

38.1 상태 주도 애니메이션 이해하기 344

38.2 상태 함수로서의 애니메이션 344

38.3 AnimateState 프로젝트 만들기 345

38.4 animateFloatAsState를 이용한 회전 애니메이션 346

38.5 animateColorAsState를 이용한 색상 변경 애니메이션 처리 349

38.6 animateDpAsState를 이용한 움직임 애니메이션 처리하기 352

38.7 스프링 효과 추가하기 354

38.8 키프레임 다루기 356

38.9 여러 애니메이션 조합하기 357

38.10 Animation Inspector 이용하기 359

38.11 정리 361

 

CHAPTER 39 캔버스 그래픽 그리기 362

39.1 Canvas 컴포넌트 소개 362

39.2 CanvasDemo 프로젝트 만들기 362

39.3 선 그리기와 캔버스 크기 얻기 363

39.4 점선 그리기 364

39.5 사각형 그리기 365

39.6 회전시키기 369

39.7 원과 타원 그리기 370

39.8 그레이디언트 그리기 371

39.9 부채꼴 그리기 374

39.10 경로 그리기 375

39.11 점 그리기 376

39.12 이미지 그리기 378

39.13 정리 380

 

CHAPTER 40 ViewModel 다루기 381

40.1 안드로이드 젯팩이란 무엇인가? 381

40.2 구식 아키텍처 381

40.3 모던 안드로이드 아키텍처 382

40.4 ViewModel 컴포넌트 382

40.5 상태 기반의 ViewModel 구현 383

40.6 ViewModel 상태와 액티비티 연결하기 384

40.7 LiveData를 이용한 ViewModel 구현 385

40.8 액티비티 안에서 ViewModel LiveData 관찰하기 386

40.9 정리 387

 

CHAPTER 41 ViewModel 튜토리얼 388

41.1 프로젝트 개요 388

41.2 ViewModelDemo 프로젝트 만들기 389

41.3 ViewModel 추가하기 389

41.4 MainActivity에서 DemoViewModel에 접근하기 391

41.5 온도 입력 컴포저블 디자인하기 392

41.6 온도 입력 컴포저블 구현하기 393

41.7 사용자 인터페이스 디자인 완료하기 396

41.8 앱 테스트하기 398

41.9 정리 398

 

CHAPTER 42 안드로이드 SQLite 데이터베이스 개요 399

42.1 데이터베이스 테이블 이해하기 399

42.2 데이터베이스 스키마 소개 400

42.3 열과 데이터 타입 400

42.4 데이터베이스의 행 400

42.5 기본 키 400

42.6 SQLite 401

42.7 구조화된 쿼리 언어(SQL) 401

42.8 AVD에서 SQLite 이용하기 402

42.9 안드로이드 Room 퍼시스턴스 라이브러리 405

42.10 정리 405

 

CHAPTER 43 Room 데이터베이스와 컴포즈 406

43.1 모던 앱 아키텍처 다시보기 406

43.2 Room 데이터베이스 퍼시스턴스의 핵심 요소 407

43.3 엔티티 이해하기 408

43.4 데이터 접근 객체 411

43.5 Room 데이터베이스 413

43.6 저장소 414

43.7 인메모리 데이터베이스 415

43.8 Database Inspector 416

43.9 정리 416

 

CHAPTER 44 Room 데이터베이스 및 저장소 튜토리얼 417

44.1 RoomDemo 프로젝트 개요 417

44.2 RoomDemo 프로젝트 만들기 418

44.3 빌드 환경 설정 수정하기 418

44.4 엔티티 구축하기 419

44.5 데이터 접근 객체 만들기 420

44.6 Room 데이터베이스 추가하기 422

44.7 저장소 추가하기 423

44.8 ViewModel 추가하기 425

44.9 사용자 인터페이스 디자인하기 427

44.10 ViewModelProvider Factory 클래스 작성하기 429

44.11 MainScreen 함수 완료하기 431

44.12 RoomDemo 앱 테스트하기 434

44.13 Database Inspector 이용하기 434

44.14 정리 435

 

CHAPTER 45 내비게이션 436

45.1 내비게이션 이해하기 436

45.2 내비게이션 컨트롤러 선언하기 438

45.3 내비게이션 호스트 선언하기 439

45.4 내비게이션 그래프에 목적지 추가하기 439

45.5 목적지로 이동하기 441

45.6 목적지에 인수 전달하기 442

45.7 하단 내비게이션 바 다루기 444

45.8 정리 446

 

CHAPTER 46 컴포즈 내비게이션 튜토리얼 447

46.1 NavigationDemo 프로젝트 만들기 447

46.2 NavigationDemo 프로젝트 소개 448

46.3 내비게이션 경로 선언하기 448

46.4 홈 화면 추가하기 448

46.5 웰컴 화면 추가하기 450

46.6 프로필 화면 추가하기 451

46.7 내비게이션 컨트롤러와 호스트 만들기 451

46.8 화면 내비게이션 구현하기 452

46.9 사용자 이름 인수 전달하기 453

46.10 프로젝트 테스트하기 454

46.11 정리 455

 

CHAPTER 47 하단 내비게이션 바 튜토리얼 456

47.1 BottomBarDemo 프로젝트 만들기 456

47.2 내비게이션 경로 추가하기 457

47.3 바 아이템 디자인하기 457

47.4 바 아이템 리스트 만들기 457

47.5 목적지 화면 추가하기 458

47.6 내비게이션 컨트롤러와 호스트 만들기 460

47.7 내비게이션 바 디자인하기 461

47.8 Scaffold 컴포넌트 다루기 463

47.9 프로젝트 테스트하기 463

47.10 정리 464

 

CHAPTER 48 제스처 감지하기 465

48.1 컴포즈 제스처 식별 465

48.2 GestureDemo 프로젝트 만들기 465

48.3 클릭 제스처 감지하기 466

48.4 PointerInputScope를 이용해 탭 감지하기 467

48.5 드래그 제스처 감지하기 469

48.6 PointerInputScope를 이용해 드래그 제스처 감지하기 471

48.7 scrollable 모디파이어를 이용해 스크롤하기 472

48.8 스크롤 모디파이어를 이용해 스크롤하기 473

48.9 꼬집기(확대/축소) 제스처 감지하기 475

48.10 회전 제스처 감지하기 477

48.11 변환 제스처 감지하기 478

48.12 정리 479

 

CHAPTER 49 스와이프 제스처 감지하기 480

49.1 스와이프 제스처와 앵커 480

49.2 스와이프 제스처 감지하기 480

49.3 앵커 맵 선언하기 481

49.4 임계점 선언하기 482

49.5 스와이프를 따라 컴포넌트 이동하기 482

49.6 SwipeDemo 프로젝트 소개 483

49.7 SwipeDemo 프로젝트 만들기 483

49.8 swipeable 상태 및 앵커 설정하기 483

49.9 부모 박스 디자인하기 484

49.10 프로젝트 테스트하기 487

49.11 정리 487

 

CHAPTER 50 코틀린 플로 488

50.1 플로 이해하기 488

50.2 FlowDemo 프로젝트 만들기 489

50.3 프로젝트에 뷰 모델 추가하기 490

50.4 플로 선언하기 490

50.5 플로 데이터 방출하기 491

50.6 데이터를 상태로 수집하기 492

50.7 중재자를 사용해 데이터 변환하기 493

50.8 플로 데이터 수집하기 495

50.9 플로 버퍼 추가하기 497

50.10 종단 플로 연산자 498

50.11 플로 평탄화 499

50.12 여러 플로 조합하기 501

50.13 /콜드 플로 502

50.14 스테이트플로 503

50.15 셰어드플로 504

50.16 콜드 플로를 핫 플로로 전환하기 506

50.17 정리 507

 

CHAPTER 51 젯팩 컴포즈 셰어드플로 튜토리얼 508

51.1 프로젝트 소개 508

51.2 SharedFlowDemo 프로젝트 만들기 508

51.3 프로젝트에 뷰 모델 추가하기 509

51.4 세어드플로 선언하기 510

51.5 플로값 수집하기 511

51.6 SharedFlowDemo 앱 테스트하기 512

51.7 백그라운드에서 플로 다루기 513

51.8 정리 515

 

CHAPTER 52 컴포즈 테마 적용 다루기 516

52.1 머티리얼 디자인 2와 머티리얼 디자인 3 516

52.2 머티리얼 디자인 2 테마 적용 517

52.3 머티리얼 디자인 3 테마 적용 520

52.4 커스텀 테마 구현하기 522

52.5 정리 523

 

CHAPTER 53 머티리얼 디자인 3 테마 적용 튜토리얼 524

53.1 ThemeDemo 프로젝트 만들기 524

53.2 머티리얼 디자인 3 라이브러리 추가하기 524

53.3 사용자 인터페이스 디자인하기 525

53.4 새로운 테마 만들기 527

53.5 프로젝트에 테마 추가하기 528

53.6 동적 색상 활성화하기 529

53.7 정리 530

 

CHAPTER 54 안드로이드 앱 번들 생성, 테스트, 업로드 531

54.1 릴리스 준비 프로세스 531

54.2 안드로이드 앱 번들 531

54.3 구글 플레이 개발자 콘솔 계정 등록하기 532

54.4 콘솔에서 앱 설정하기 533

54.5 구글 플레이 앱 서명 활성화하기 534

54.6 키스토어 파일 만들기 535

54.7 안드로이드 앱 번들 만들기 537

54.8 테스트 APK 파일 만들기 538

54.9 구글 플레이 개발자 콘솔에 앱 번들 업로드하기 540

54.10 앱 번들 살펴보기 541

54.11 테스터 관리하기 543

54.12 테스트용 앱 배포하기 543

54.13 새 앱 번들 버전 업로드하기 544

54.14 앱 번들 파일 분석하기 545

54.15 정리 546

 

CHAPTER 55 안드로이드 스튜디오의 그레이들 개요 547

55.1 그레이들 개요 547

55.2 그레이들과 안드로이드 스튜디오 548

55.2.1 합리적인 기본값 548 / 55.2.2 디펜던시 548

55.2.3 빌드 변형 548 / 55.2.4 매니페스트 항목 549

55.2.5 APK 서명 549 / 55.2.6 프로가드 지원 549

55.3 속성 및 설정 그레이들 빌드 파일 549

55.4 최상위 수준 그레이들 빌드 파일 550

55.5 모듈 수준 그레이들 빌드 파일 551

55.6 빌드 파일에서 서명 설정하기 554

55.7 커맨드라인에서 그레이들 태스크 실행하기 555

55.8 정리 556

 

찾아보기 558

 

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

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