목차
chapter 01 헬로, 안드로이드
   가볍게 살펴보는 배경지식 ... 3
      그리 멀지 않은 과거에는 ... 3
      아드로이드의 미래 ... 4
   안드로이드에 대한 오해 ... 5
   모바일 개발을 위한 오픈 플랫폼 ... 6
   네이티브 안드로이드 애플리케이션 ... 7
   안드로이드 SDK의 특징 ... 8
      카메라, GPS, 가속도 센서 등의 하드웨어 접근 ... 9
      네이티브 구글 맵, 지오코딩, 위치기반 서비스 ... 9
      백그라운드 서비스 ... 10
      데이터 저장과 검색을 위한 SQLite 데이터베이스 ... 10
      공유 데이터와 애플리케이션 간 통신 ... 11
      구글 톡을 이용한 P2P 서비스 ... 11
      광범위한 미디어 지원과 2D/3D 그래픽스 ... 12
      최적화된 메모리와 프로세스 관리 ... 12
   오픈 핸드셋 얼라이언스 소개 ... 13
   안드로이드의 발전 추이 ... 14
   안드로이드의 개발 이유 ... 14
      안드로이드 도입을 주도하는 것 ... 15
      안드로이드에만 있는 것 ... 16
      모바일 개발 판도의 변화 ... 17
   개발 프레임워크 소개 ... 17
      SDK에는 무엇이 있을까? ... 18
      안드로이드 소프트웨어 스택의 이해 ... 19
      Dalvik 가상 머신 ... 20
      안드로이드 애플리케이션 아키텍처 ... 21
      안드로이드 라이브러리 ... 22
      고급 안드로이드 라이브러리 ... 23
   요약 ... 24
chapter 02 시작하기
   안드로이드 애플리케이션 개발하기 ... 29
      준비물 ... 29
      첫 번째 안드로이드 액티비티 만들기 ... 35
      안드로이드 애플리케이션의 종류 ... 41
   모바일 애플리케이션 개발하기 ... 43
      하드웨어를 고려한 설계 ... 43
      사용자 환경 고려하기 ... 48
      안드로이드 애플리케이션 개발하기 ... 49
   할 일 목록 예제 ... 53
   안드로이드 개발 도구 ... 59
      안드로이드 애뮬레이터 ... 60
      Dalvik 디버그 모니터 서비스(DDMS) ... 61
      안드로이드 디버그 브리지 ... 62
   요약 ... 62
chapter 03 애플리케이션과 액티비티 만들기
   안드로이드 애플리케이션 구성요소 ... 66
   애플리케이션 매니페스트 소개 ... 68
   매니페스트 에디터 사용하기 ... 72
   안드로이드 애플리케이션 수명 주기 ... 73
   애플리케이션 우선순위와 프로세스 상태 이해하기 ... 74
   리소스 외부화하기 ... 76
      리소스 만들기 ... 77
      리소스 사용하기 ... 85
      할 일 목록 리소스 예제 ... 90
      여러 가지 언어와 하드웨어를 위한 리소스 만들기 ... 91
      런타임 구성 변경 ... 93
   안드로이드 액티비티 좀더 자세히 살펴보기 ... 95
      액티비티 만들기 ... 95
      액티비티 수명 주기 ... 97
      안드로이드 액티비티 클래스 ... 104
   요약 ... 105
chapter 04 사용자 인터페이스 만들기
   기본적인 안드로이드 UI 디자인 ... 109
   뷰 소개 ... 109
      뷰를 사용해 액티비티 사용자 인터페이스 만들기 ... 110
      안드로이드 위젯 도구 상자 ... 112
   레이아웃 소개 ... 113
      레이아웃 사용하기 ... 114
   새로운 뷰 만들기 ... 115
      기존 뷰 수정하기 ... 116
      복합 컨트롤 만들기 ... 122
      커스텀 위젯과 컨트롤 만들기 ... 124
      커스텀 컨트롤 사용하기 ... 139
   메뉴 만들고 사용하기 ... 140
      안드로이드 메뉴 시스템 소개 ... 140
      액티비티 메뉴 정의하기 ... 143
      동적으로 메뉴 항목 업네이트하기 ... 146
      메뉴 선택 처리하기 ... 147
      하위 메뉴와 컨텍스트 메뉴 ... 147
      할 일 목록 예제 계속 ... 150
   요약 ... 157
chapter 05 인텐트, 브로드캐스트 수신자, 어댑터, 그리고 인터넷
   인텐트 소개 ... 160
      인텐트를 이용해 액티비티 띄우기 ... 161
      인텐트 필터를 이용해 암시적 인텐트 서비스하기 ... 171
      플로그 인과 확장성을 위한 인텐트 필터 사용 ... 182
      이벤트 방송을 위한 인텐트 사용 ... 185
   어댑터 소개 ... 190
      어댑터를 이용한 데이터 바인딩 ... 191
   인터넷 리소스 사용하기 ... 198
      인터넷 리소스에 접속하기 ... 199
      인터넷 리소스 이용 극대화하기 ... 200
   다이얼로그 소개 ... 200
      Dialog 클래스 소개 ... 202
      액티비티를 다이얼로그 사용하기 ... 206
   지진 뷰어 만들기 ... 207
   요약 ... 218
chapter 06 데이터 저장, 검색, 그리고 공유
   안드로이드의 데이터 저장 기법 ... 223
   간단한 애플리케이션 데이터 저장하기 ... 223
      환경설정 만들고 저장하기 ... 224
      공유 환경설정 검색하기 ... 225
      액티비티 상태 저장하기 ... 225
      지진 뷰어를 위한 환경설정 페이지 만들기 ... 230
   파일 저장하고 읽어 들이기 ... 241
      정적 파일을 리소스로 포함하기 ... 242
      파일 관리 도구 ... 242
   안드로이드의 데이터베이스 ... 243
      SQLite 소개 ... 243
      커서와 콘텐트 값 ... 244
      안드로이드 데이터베이스로 작업하기 ... 245
   콘텐트 공급자 소개 ... 261
      콘텐트 공급자 이용하기 ... 262
      네이티브 안드로이드 콘텐트 공급자 ... 266
      자진 콘텐드 공급자 만들고 이용하기 ... 272
   요약 ... 283
chapter 07 맵, 지오코딩, 그리고 위치기반 서비스
   위치기반 서비스 이용하기 ... 287
   테스트 공급자를 이용해 에뮬레이터 설정하기 ... 287
      에뮬레이터 위치 공급자의 위치 업데이트하기 ... 288
      테스트 위치 공급자 관리를 위한 애플리케이션 만들기 ... 289
   위치 공급자 선택하기 ... 292
      이용할 수 있는 공급자 찾기 ... 292
      요구 기준에 기반해 공급자 찾기 ... 293
   내 위치 찾기 ... 294
      현재 위치 찾기 예제 ... 295
      움직임 추적 ... 298
      '현재 위치 찾기'에 내 위치 업데이트하기 ... 299
   근접 경보 사용하기 ... 302
   지오코더 사용하기 ... 303
      역방향 지오코딩 ... 304
      순방향 지오코딩 ... 305
      '현재 위치 찾기' 지오코딩하기 ... 307
   맵기반 액티비티 만들기 ... 308
      MapView와 MapActivity 소개 ... 309
      맵기반 액티비티 만들기 ... 309
      맵 뷰 구성하고 사용하기 ... 312
      맵 컨트롤러 이용하기 ... 313
      '현재 위치 찾기' 매핑하기 ... 314
      오버레이 만들고 이용하기 ... 318
      MyLocationOverlay 소개 ... 328
      ItemizedOverlay와 OverlayItem 소개 ... 328
      맵과 맵 위치에 뷰 고정하기 ... 330
   지진 매핑 예제 ... 332
   요약 ... 338
chapter 08 백그라운드에서 작업하기
   서비스 소개 ... 343
      서비스 만들고 제어하기 ... 343
      서비스에 액티비티 바인딩하기 ... 354
   백그라운드 작업자 스레드 이용하기 ... 356
      새로운 스레드 만들기 ... 357
      GUI 작업을 위한 스레드 동기화 ... 357
      Earthquake 서비스를 백그라운드 서비스로 옮기기 ... 359
   토스트 만들기 ... 359
      토스트 커스터마이징하기 ... 361
      작업자 스레드에서 토스트 이용하기 ... 362
   알림 소개 ... 363
      알림 관리자 소개 ... 364
      알림 만들기 ... 365
      알림 발생시키기 ... 366
      지진 모니터에 알림 추가하기 ... 367
      고급 알림 기법 ... 370
      진행 중 알림과 강조 알림 ... 374
   알람 이용하기 ... 374
   알람을 이용해 지진 업데이트하기 ... 377
   요약 ... 379
chapter 09 피어-투-피어 통신
   안드로이드 인스턴트 메시징 소개 ... 382
      GTalk 서비스 이용하기 ... 383
      GTalk 서비스에 바인딩하기 ... 385
      GTalk 연결 생성과 IM 세션 시작 ... 386
      현재 상태와 대화 상대 명단 소개 ... 387
      채팅 세션 관리하기 ... 391
      데이터 메시지 주고받기 ... 395
   SMS 소개 ... 398
      애플리케이션에서 SMS 이용하기 ... 399
      SMS 메시지 보내기 ... 399
      SMS 메시지에 귀 기울이기 ... 403
      긴급 응답기 SMS 예제 ... 406
      긴급 응답기 자동화기 ... 418
   요약 ... 429
chapter 10 안드로이드 하드웨어 접근하기
   미디어 API 이용하기 ... 432
      미디어 리소스 재생하기 ... 433
      멀티미디어 기록하기 ... 435
   카메라 이용하기 ... 437
      카메라 설정 제어하기 ... 438
      카메라 미리보기 이용하기 ... 438
      사진 찍기 ... 439
   센서 관리자 소개 ... 442
   가속도 센서와 나침반 이용하기 ... 442
      가속도 센서 소개 ... 443
      가속도 변화 감지하기 ... 444
      속도계 만들기 ... 446
      방향 측정하기 ... 450
      나침반과 인공 수평의(水平儀) 만들기 ... 452
   안드로이드 전화 통신 ... 457
      전화 걸기 ... 457
      폰 상태와 폰 활동 모니터링 ... 458
      데이터 연결 및 활동 모니터링 ... 462
      폰 속성 및 상태 접근하기 ... 463
      폰 제어하기 ... 463
   블루투스 이용하기 ... 464
      블루투스 서비스 소개 ... 465
      로컬 블루투스 장치 제어하기 ... 465
      블루투스 장치 발견하고 결합하기 ... 466
      블루투스 연결 관리하기 ... 468
      블루투스 통신 ... 468
      블루투스 헤드셋 이용하기 ... 470
   네트워크 및 Wi-Fi 연결 관리하기 ... 472
      인터넷 연결 모니터링 및 관리 ... 472
      활성 연결 관리하기 ... 473
      Wi-Fi 관리하기 ... 474
   장치 진동 제어하기 ... 479
   요약 ... 480
chapter 11 고급 안드로이드 개발
   편집증 환자, 안드로이드 ... 482
      리눅스 커널 보안 ... 483
      권한 소개 ... 483
      권한 선언하고 적용하기 ... 484
      인텐드 방송에 권한 적용하기 ... 485
   AIDL을 이용해 서비스를 위한 IPC 지원하기 ... 485
      AIDL 인터페이스 구현하기 ... 486
   인터넷 서비스 이용하기 ... 492
   리치 유저 인터페이스 구축하기 ... 493
      애니메이션으로 작업하기 ... 493
      애플리케이션에 테마로 스킨 입히기 ... 508
      고급 캔버스 그리기 ... 509
      SurfaceView 소개 ... 531
      인터랙티브한 컨트롤 만들기 ... 535
   요약 ... 541
부록 A 안드로이드 1.5 SDK 릴리즈 노트
   안드로이드 1.5 SDK, 릴리즈 2 ... 544
   안드로이드 1.5 SDK, 릴리즈 1 ... 544
      릴리즈 주요 내용 ... 544
      SDK 애드온 ... 545
      안드로이드 가상 장치(AVD) ... 545
      기타 내용 ... 546
부록 B 안드로이드 1.5 플랫폼 주요 기능
   사용자 인터페이스 개선 ... 548
   성능 향상 ... 548
   새로운 기능 ... 549
   새로운 API 및 매니페스트 엘리먼트 ... 550
부록 C 안드로이드 1.5 NDK, 릴리즈 1 소개
   NDK에 담긴 내용 ... 553
부록 D 맵 API 키 얻기
   MD5 핑거프린트 얻기 ... 555
   구글 맵 서비스에 핑거프린트 등록하기 ... 556
   애플리케이션에 맵 API 키 추가하기 ... 558
닫기