목차
Chpater 01 안드로이드 소개 ... 21
   1.1 OHA(Open Handset Alliance) 소개 ... 22
   1.2 안드로이드 플랫폼 소개 ... 23
      1.2.1 안드로이드의 등장 ... 23
      1.2.2 안드로이드의 특징 ... 24
      1.2.3 안드로이드의 아키텍처 ... 27
   1.3 진저브레드(2.3)에서 달라진 점 ... 29
      1.3.1 새로운 사용자 기능 ... 30
      1.3.2 개발자 측면에서의 달라진 점 ... 32
      1.3.3 개선된 NDK ... 34
      1.3.4 ADT(Android Development Tools) 8.0 ... 34
   1.4 요약 ... 35
Chpater 02 안드로이드 개발환경 설정 및 둘러보기 ... 37
   2.1 개발환경 설정하기 ... 38
      2.1.1 JDK 설치하기 ... 39
      2.1.2 이클립스(Eclipse) 설치 ... 44
      2.1.3 안드로이드 SDK설치 ... 45
      2.1.4 SDK 패키지 다운로드 및 설치 ... 49
      2.1.5 안드로이드 ADT 설치 ... 51
      2.1.6 에뮬레이터(Emulator)생성하기 ... 55
      2.1.7 에뮬레이터에 한글 키보드 설치하기 ... 59
   2.2 Hello Android! ... 63
      2.2.1 프로젝트 생성하기 ... 64
      2.2.2 프로젝트 구성 들여다보기 ... 66
   2.3 나의 첫 번째 안드로이드 애플리케이션 ... 70
   2.4 요약 ... 73
Chpater 03 안드로이드 사용자 인터페이스 ... 75
   3.1 액티비티(Activity) ... 76
      3.1.1 액티비티란? ... 76
      3.1.2 액티비티의 라이프사이클(LifeCycle) ... 76
      3.1.3 액티비티 추가하기 ... 79
   3.2 뷰, 위젯, 레이아웃의 소개 ... 82
      3.2.1 뷰(View) ... 82
      3.2.2 위젯(Widget) ... 83
      3.2.3 레이아웃(Layout) ... 83
      3.2.4 대표 레이아웃의 소개 ... 86
   3.3 레이아웃 살펴보기 ... 87
      3.3.1 LinearLayout ... 87
      3.3.2 FrameLayout ... 96
      3.3.3 RelativeLay out ... 102
      3.3.4 TableLayout ... 108
      3.3.5 TabLayout ... 111
   3.4 기본 위젯의 활용 ... 115
      3.4.1 TextView ... 115
      3.4.2 EditText ... 118
      3.4.3 Button ... 120
      3.4.4 레이아웃과 위젯으로 간단한 애플리케이션 구성하기 ... 122
      3.4.5 ImageView ... 126
      3.4.6 RadioGroup, RadioButton ... 131
      3.4.7 CheckBox ... 134
      3.4.8 RadioButton과 CheckBox로 피자 주문 화면 구성하기 ... 137
   3.5 고급 위젯의 활용 ... 142
      3.5.1 Adapter ... 142
      3.5.2 ListView ... 145
      3.5.3 Gallery ... 158
      3.5.4 GridView ... 170
   3.6 요약 ... 180
Chpater 04 인텐트와 브로드캐스트 리시버 ... 181
   4.1 인텐트(Intent) ... 182
      4.1.1 명시적 인텐트와 암시적 인텐트 ... 182
      4.1.2 인텐트를 통해 값 전달하기 ... 190
      4.1.3 인텐트로 값 리턴하기 ... 194
   4.2 인텐트 필터(Intent Filter) ... 203
      4.2.1 인텐트 필터 ... 204
      4.2.2 액션과 카테고리 ... 205
      4.2.3 인텐트 레졸루션 ... 206
   4.3 브로드캐스트 리시버 ... 206
   4.4 요약 ... 210
Chpater 05 다이얼로그(Dialog) ... 211
   5.1 다이얼로그(Dialog) ... 212
      5.1.1 AlertDialog ... 212
      5.1.2 ProgressDialog ... 219
   5.2 커스텀 다이얼로그(Custom dialog) ... 223
   5.3 토스트(Toast) ... 228
   5.4 다이얼로그 관리 ... 229
   5.5 요약 ... 234
Chpater 06 데이터 저장 ... 235
   6.1 파일시스템 사용법 ... 236
      6.1.1 파일시스템 구조 ... 236
      6.1.2 내부 저장소 파일 읽기 및 쓰기 ... 237
      6.1.3 외부 저장소(SD카드)사용 ... 241
   6.2. 데이터베이스 소개 ... 246
      6.2.1 테이블 생성 ... 247
      6.2.2 레코드의 CRUD(Create, Read, Update, Delete) ... 250
      6.2.3 직접 SQL문을 실행하기 ... 255
      6.2.4 sqlite3 명령어 ... 261
      6.2.5 안드로이드 에뮬레이터에서의 sqlite3 명령어 ... 263
   6.3 프리퍼런스(Preferences) ... 265
      6.3.1 프리퍼런스 활용 ... 265
   6.4. 요약 ... 269
Chpater 07 노티피케이션(Notification) ... 271
   7.1 노티피케이션 ... 272
      7.1.1 노티피케이션 알아보기 ... 272
      7.1.2 노티피케이션 사용하기 ... 274
      7.1.3 노티피케이션에 진동효과 넣기 ... 282
      7.1.4 노티피케이션에 소리 넣기 ... 285
      7.1.5 노티피케이션에 LED 넣기 ... 287
      7.1.6 사용자정의 레이아웃으로 노티피케이션 만들기 ... 289
      7.1.7 노티피케이션을 이용하여 다운로드 진행사항 표시하기 ... 292
   7.2 요약 ... 295
Chpater 08 서비스와 백그라운드 작업 ... 297
   8.1 서비스(Service) ... 298
      8.1.1 서비스의 라이프사이클(LifeCycle) ... 298
      8.1.2 서비스 클래스 살펴보기 ... 299
      8.1.3 서비스 만들고 제어하기 ... 300
      8.1.4 서비스의 작동방식 설정 ... 306
      8.1.5 서비스를 바인드하여 조작하기 ... 307
   8.2 스레드와 핸들러 ... 312
      8.2.1 ANR(Application Not Responding) ... 313
      8.2.2 스레드(Thread) ... 315
      8.2.3 핸들러(Handler) ... 317
   8.3 백그라운드 작업하기 ... 320
      8.3.1 AsyncTask ... 320
   8.4 네이버 실시간 급상승 검색어 만들기 ... 325
   8.5 요약 ... 331
Chpater 09 네트워크와 웹 서비스 ... 333
   9.1 WebView ... 334
      9.1.1 서버에 있는 웹페이지 불러오기 ... 334
      9.1.2 리소스로 저장한 웹페이지 불러오기 ... 338
      9.1.3 자바스크립트 이용하기 ... 340
   9.2 HTTP ... 343
      9.2.1 GET 요청 ... 343
      9.2.2 POST 요청 ... 346
      9.2.3 XML을 활용한 RSS 리더기 ... 348
      9.2.4 JSON을 활용한 구글 뉴스 검색기 ... 351
   9.3 요약 ... 355
Chpater 10 위치기반 서비스 ... 357
   10.1 위치기반 API ... 358
      10.1.1 단말기의 현재 위치 알아내기 ... 359
      10.1.2 프로바이더를 직접 선택하기 ... 365
      10.1.3 지오코딩 ... 367
   10.2 지도로 표시하기 ... 369
      10.2.1 내장 애플리케이션으로 지도 표시하기 ... 369
      10.2.2 애플리케이션에 지도 통합하기 ... 372
      10.2.3 애플리케이션에 지도 통합하기 고급기능 ... 380
   10.3 요약 ... 388
Chpater 11 콘텐트 프로바이더와 텔레포니 ... 389
   11.1 콘텐트 프로바이더 ... 390
      11.1.1 콘텐트 프로바이더(Content Provider) ... 390
      11.1.2 콘텐트 리졸버(Content Resolver) ... 391
      11.1.3 콘텐트 리졸버 사용하기 ... 392
      11.1.4 주소록 가져오기 ... 393
      11.1.5 주소록 수정하기 ... 399
      11.1.6 전화기록 가져오기 ... 401
      11.1.7 웹브라우저 북마크 가져오기 ... 403
   11.2 텔레포니 ... 404
      11.2.1 텔레포니(Telephony) 정보접근 ... 405
      11.2.2 텔레포니 정보 변경 알림 ... 406
      11.2.3 SMS 수신 및 발신하기 ... 410
      11.2.4 전화걸기 ... 417
   11.3 요약 ... 419
Chpater 12 멀티미디어(Multimedia) ... 421
   12.1 사진과 동영상 촬영 ... 422
   12.2 오디오 및 비디오 ... 429
      12.2.1 안드로이드에서 사용 가능한 미디어 포맷 ... 429
      12.2.2 오디오 재생 ... 433
      12.2.3 오디오 레코딩 ... 440
      12.2.4 비디오 재생 ... 447
   12.3 음성인식 ... 450
   12.4 요약 ... 453
부록 1 DDMS(Dalvik Debug Monitoring Service) ... 455
부록 2 애플리케이션 배포 ... 473
닫기