지은이 소개 o 2
지은이 머리말 o 4
이 책의 사용 설명서 o 6
숲과 나무 이야기 o 8
학습 로드맵 o 9
Chapter 01 안드로이드의 개요와 개발환경 구축 o 019
1 안드로이드의 개요 o 020
1.1 스마트폰 개요 o 020
1.2 안드로이드 o 022
2 안드로이드의 개발환경 o 028
2.1 안드로이드 개발을 위한 운영체제 o 028
2.2 안드로이드 개발환경 구성 o 028
3 안드로이드의 개발환경 구축 o 031
3.1 안드로이드 개발환경 구축 순서 o 031
3.2 Java SE Development Kit(JDK) 설치 o 031
3.3 Android Studio 설치 o 035
3.4 Android Studio 설정 o 040
3.5 AVD 생성 o 45
요약 o 052
연습문제 o 054
Chapter 02 처음으로 만드는 안드로이드 애플리케이션 o 055
1 처음 만드는 [Hello Android] 프로그램 o 056
1.1 Hello Android 프로젝트 o 056
2 AVD 명칭과 사용법 o 067
2.1 AVD 명칭 o 067
2.2 AVD 사용법 o 068
3 완전한 기능의 안드로이드 애플리케이션 작성 o 7
3.1 Android Studio 프로젝트 관리 o 076
3.2 안드로이드 프로젝트의 표준 틀 o 080
4 안드로이드 프로젝트의 구성 o 99
4.1 BaseApp 프로젝트의 구성 o 99
4.2 프로젝트에서 사용되는 폴더 및 파일의 용도 o 100
Chapter 03 안드로이드를 위한 Java 문법 o 107
1 Java 개요 o 108
1.1 Java 특징 o 108
1.2 Java 프로그램 작성법 o 109
2 Java 기본 문법 o 112
2.1 변수와 데이터 형식 o 112
2.2 조건문 : if, switch()~case o 113
2.3 배열 o 115
2.4 반복문 : for, while o 116
2.5 메소드와 전역변수, 지역변수 o 118
2.6 예외 처리 : try~catch o 119
2.7 연산자 o 120
3 클래스와 인스턴스 o 122
3.1 클래스 정의와 인스턴스 생성 o 122
3.2 생성자 o 124
3.3 메소드 오버로딩 o 126
3.4 정적 필드, 정적 메소드, 상수 필드 o 126
4 클래스의 상속 o 129
4.1 클래스 상속과 메소드 오버라이딩 o 129
4.2 추상 클래스와 추상 메소드 o 131
4.3 클래스 변수의 다형성 o 134
4.4 인터페이스와 다중 상속 o 134
4.5 익명 내부 클래스 o 136
5 추가로 알아둘 Java 문법 o 137
5.1 패키지 o 137
5.2 제네릭스 o 138
5.3 데이터 변환, 문자열 비교, 날짜 형식 o 139
Chapter 04 기본 위젯 익히기 o 147
1 뷰의 개요 o 148
1.1 뷰와 뷰그룹 o 148
1.2 View 클래스의 XML 속성 o 151
2 기본 위젯 다루기 o 162
2.1 텍스트뷰 o 162
2.2 Java 코드로 XML 속성 설정 o 164
2.3 버튼과 에디트텍스트 o 166
3 기본 위젯 활용하기 o 176
3.1 컴파운드버튼 o 176
3.2 이미지뷰와 이미지버튼 o 179
Chapter 05 레이아웃 익히기 o 193
1 레이아웃 개요 o 194
1.1 레이아웃 기본 개념 o 194
1.2 레이아웃의 종류 o 195
2 리니어레이아웃 o 197
2.1 기본 리니어레이아웃 형태 o 197
2.2 중복 리니어레이아웃 형태 o 201
2.3 Java 코드로 화면 만들기 o 206
3 기타 레이아웃 o 211
3.1 렐러티브레이아웃 o 211
3.2 테이블레이아웃 o 216
3.3 그리드레이아웃 o 223
3.4 프레임레이아웃 o 226
Chapter 06 고급 위젯 다루기 o 233
1 고급 위젯 o 234
1.1 날짜/시간 관련 위젯 o 234
1.2 기타 위젯 o 244
2 뷰 컨테이너 o 248
2.1 간단한 기능의 뷰 컨테이너 o 248
2.2 복잡한 기능의 뷰 컨테이너 o 251
Chapter 07 메뉴와 대화상자 o 277
1 메뉴 o 277
1.1 XML을 이용한 옵션 메뉴 o 279
1.2 Java 코드만 이용한 옵션 메뉴 o 288
1.3 XML을 이용한 컨텍스트 메뉴 o 289
2 토스트 o 296
3 대화상자 o 299
3.1 기본 대화상자 o 299
3.2 목록 대화상자 o 302
Chapter 08 파일 처리 o 317
1 파일 처리 기본 o 317
1.1 내장 메모리 파일 처리 o 318
1.2 raw 폴더 파일 처리 o 329
2 파일 처리 응용 o 331
2.1 SD카드에서 파일 읽기 o 332
2.2 SD카드에 폴더 및 파일 생성하기 o 333
2.3 특정 폴더의 하위 폴더 및 파일 목록 o 335
Chapter 09 그래픽과 이미지 o 347
1 그래픽 o 348
1.1 캔버스와 페인트 기본 o 348
1.2 그래픽 처리 기본 o 349
1.3 터치 이벤트 o 352
2 이미지 o 359
2.1 비트맵 기본 o 359
2.2 이미지의 기하학적 변환 o 361
2.3 이미지 활용 o 363
Chapter 10 액티비티와 인텐트 o 383
1 액티비티와 인텐트 기본 o 384
1.1 안드로이드 4대 컴포넌트 o 384
1.2 액티비티 개요 o 385
1.3 명시적 인텐트 o 391
2 액티비티와 인텐트 응용 o 402
2.1 양방향 액티비티 o 402
2.2 암시적 인텐트 o 406
2.3 액티비티 생명주기 o 410
Chapter 11 어댑터뷰 o 421
1 리스트뷰와 그리드뷰 o 422
1.1 어댑터뷰 o 422
1.2 리스트뷰 o 422
1.3 그리드뷰 o 427
2 갤러리와 스피너 o 434
2.1 갤러리 o 434
2.2 스피너 o 438
Chapter 12 데이터 저장과 관리 o 443
1 SQLite 기본 o 444
1.1 데이터베이스 기본 개념 o 444
1.2 SQLite에서 데이터베이스 구축 o 447
2 SQLite 활용 o 453
2.1 SQLite 프로그래밍 o 453
2.2 SQLite GUI 툴 활용 o 462
Chapter 13 멀티미디어와 Google 지도 o 469
1 오디오 o 470
2 스레드 o 480
2.1 프로그래스바와 시크바 o 480
2.3 UI 스레드 o 482
2.4 스레드 응용 o 485
3 Google 지도 o 491
3.1 Google 지도 사용을 위한 준비 사항 o 491
3.2 Google 지도 응용 o 502
Chapter 14 서비스와 브로드캐스트 리시버 o 511
1 서비스 o 512
2 브로드캐스트 리시버 o 521
3 콘텐트 프로바이더 o 528
3.1 안드로이드 제공 콘텐트 프로바이더 o 528
Appendix A 안드로이드 기기에서 실습하기 o 537
Appendix B 에뮬레이터(AVD) 속도 향상시키기 o 538
찾아보기 o 548