목차
지은이의 말  ... 3
일러두기  ... 4
CHAPTER 01 안드로이드 
  1.1 스마트폰  ... 37
    1.1.1. 스마트폰 시대  ... 37
    1.1.2. 스마트폰  ... 39
    1.1.3. 모바일 운영체제  ... 40
  1.2 안드로이드  ... 42
    1.2.1. 안드로이드의 등장  ... 42
    1.2.2. 특징  ... 44
    1.2.3. 아키텍처  ... 45
    1.2.4. 4가지 구성 요소  ... 47
    1.2.5. 학습 준비  ... 49
  1.3 안드로이드의 역사  ... 51
    1.3.1. 버전별 기능  ... 51
    1.3.2. 허니콤  ... 53
    1.3.3. 아이스크림 샌드위치  ... 56
    1.3.4. 젤리빈  ... 57
CHAPTER 02 개발툴 설치
  2.1 개발툴 설치  ... 65
    2.1.1. JDK  ... 65
    2.1.2. 이클립스  ... 69
    2.1.3. 플러그인  ... 76
    2.1.4. 안드로이드 SDK  ... 80
    2.1.5. 통합 설치  ... 86
    2.1.6. AVD 생성  ... 87
  2.2 설치 고급  ... 95
    2.2.1. 옵션 설정  ... 95
    2.2.2. 업그레이드  ... 101
    2.2.3. 재설치  ... 103
    2.2.4. 리눅스에 설치  ... 104
    2.2.5. 맥북에 설치  ... 108
CHAPTER 03 첫 번째 예제 
  3.1 무작정 만들어 보기  ... 115
    3.1.1. AndroidFirst  ... 115
    3.1.2. 실행 설정  ... 121
    3.1.3. 실장비에서 실행하기  ... 126
    3.1.4. 4.2 버전에서 실습  ... 129
  3.2 프로젝트 분석  ... 132
    3.2.1. 프로젝트의 구성  ... 132
    3.2.2. 레이아웃 파일  ... 137
    3.2.3. XML 레이아웃의 장점  ... 141
    3.2.4. 에러 처리  ... 144
  3.3 실습 준비  ... 146
    3.3.1. 에뮬레이터 사용법  ... 146
    3.3.2. 프로젝트 관리  ... 151
    3.3.3. 샘플 예제  ... 153
    3.3.4. 도움말  ... 157
CHAPTER 04 뷰
  4.1 뷰와 뷰그룹  ... 161
    4.1.1. 뷰의 계층  ... 161
    4.1.2. View의 속성  ... 164
  4.2 기본 위젯  ... 169
    4.1. 텍스트뷰  ... 169
    4.2. 이미지뷰  ... 175
    4.3. 버튼과 에디트  ... 180
  4.3 배포 예제  ... 183
    4.3.1. 배포 예제의 설치  ... 183
    4.3.2. AndExam  ... 185
CHAPTER 05 레이아웃 
  5.1. 리니어 레이아웃  ... 191
    5.1.1. 방향 설정  ... 191
    5.1.2. 정렬 지정  ... 195
    5.1.3. 베이스 정렬  ... 205
    5.1.4. 차일드 영역 분할  ... 207
    5.1.5. 마진과 패딩  ... 211
  5.2 렐러티브 레이아웃  ... 214
    5.2.1. 상대적 배치  ... 214
    5.2.2. 명함철  ... 218
    5.2.3. 앵커 변경  ... 222
  5.3 기타 레이아웃  ... 225
    5.3.1. AbsoluteLayout  ... 225
    5.3.2. FrameLayout  ... 228
    5.3.3. TableLayout  ... 230
CHAPTER 06 레이아웃 관리
  6.1 레이아웃 관리  ... 233
    6.1.1. 레이아웃 중첩  ... 233
    6.1.2. 레이아웃 대체  ... 240
    6.1.3. 실행 중에 속성 바꾸기  ... 243
    6.1.4. 레이아웃 전개  ... 248
  6.2 레이아웃 파라미터  ... 259
    6.2.1. 레이아웃 파라미터  ... 259
    6.2.2. 레이아웃 파라미터 변경  ... 268
  6.3 그리드 레이아웃  ... 271
    6.3.1. 그리드의 속성  ... 272
    6.3.2. 그리드의 방향  ... 273
    6.3.3. 셀의 크기  ... 279
    6.3.4. 셀 좌표  ... 282
    6.3.5. 셀 병합  ... 285
    6.3.6. 그리드의 활용  ... 287
CHAPTER 07 출력 
  7.1 캔버스  ... 291
    7.1.1. 커스텀 뷰  ... 291
    7.1.2. Canvas  ... 294
    7.1.3. Paint  ... 299
    7.1.4. Paint 객체 관리  ... 305
  7.2 그리기 객체  ... 308
    7.3.1. Bitmap  ... 308
    7.3.2. 텍스트  ... 313
    7.3.3. Path  ... 319
  7.3 셰이더  ... 322
    7.3.1. 직선 그래디언트  ... 322
    7.3.2. 원형 그래디언트  ... 325
    7.3.3. 비트맵 셰이더  ... 328
    7.3.4. ShapeDrawable  ... 332
  7.4 그 외의 출력  ... 338
    7.4.1. 토스트  ... 338
    7.4.2. 비프음  ... 344
    7.4.3. 진동  ... 347
    7.4.4. 퍼미션  ... 350
CHAPTER 08 이벤트 
  8.1 이벤트 핸들러  ... 355
    8.1.1. 이벤트 처리  ... 355
    8.1.2. 핸들러의 우선순위  ... 368
    8.1.3. 외부 변수 액세스  ... 371
  8.2 여러 가지 이벤트  ... 377
    8.2.1. 터치 입력  ... 377
    8.2.2. 키보드 입력  ... 380
    8.2.3. 위젯의 이벤트 처리  ... 385
    8.2.4. 롱 클릭  ... 392
    8.2.5. 포커스 관리  ... 395
    8.2.6. 타이머  ... 400
CHAPTER 09 메뉴
  9.1 메뉴  ... 405
    9.1.1. 옵션 메뉴  ... 405
    9.1.2. XML로 메뉴 정의하기  ... 411
    9.1.3. 컨텍스트 메뉴  ... 416
    9.1.4. PopupMenu  ... 422
  9.2 메뉴의 법칙  ... 426
    9.2.1. 메뉴 변천사  ... 426
    9.2.2. 메뉴 편집  ... 433
    9.2.3. 메뉴 교체  ... 438
CHAPTER 10 개발 환경
  10.1. 실습 예제  ... 443
    10.1.1. 기억력 게임  ... 443
    10.1.2. 분석  ... 449
    10.1.3. 개작  ... 453
    10.1.4. NumPang  ... 457
  10.2 개발툴  ... 473
    10.2.1. 이클립스  ... 473
    10.2.2. 디버깅  ... 477
    10.2.3. DDMS  ... 482
    10.2.4. 로그  ... 485
    10.2.5. adb  ... 490
CHAPTER 11 기본 위젯 
  11.1 리소스  ... 495
    11.1.1. 리소스  ... 495
    11.1.2. 리소스 사용  ... 498
    11.1.3. 스타일  ... 503
    11.1.4. 테마  ... 507
  11.2 텍스트 뷰  ... 509
    11.2.1. 기본 속성  ... 509
    11.2.2. bufferType  ... 517
    11.2.3. 문자열 변경 리스너  ... 529
    11.2.4. 커서 및 선택 관리  ... 537
    11.2.5. 키보드 관리  ... 541
  11.3 버튼  ... 549
    11.3.1. 나인 패치  ... 549
    11.3.2. 화살표 버튼  ... 556
    11.3.3. 라디오 버튼  ... 563
    11.3.4. 터치 필터링  ... 569
  11.4 이미지뷰  ... 573
    11.4.1. 확대 모드  ... 573
    11.4.2. 이미지 버튼  ... 580
CHAPTER 12 어댑터 뷰 
  12.1 리스트뷰  ... 587
    12.1.1. 어댑터뷰  ... 587
    12.1.2. 리스트뷰  ... 590
    12.1.3. 항목 선택  ... 596
    12.1.4. 항목 편집  ... 598
  12.2 항목 뷰  ... 605
    12.2.1. 커스텀 항목 뷰  ... 605
    12.2.2. 여러 종류의 항목 뷰  ... 612
    12.2.3. 대용량 항목 표시  ... 618
    12.2.4. 확장 리스트뷰  ... 623
    12.2.5. ListActivity  ... 626
    12.2.6. 오버 스크롤  ... 629
  12.3 어댑터 뷰  ... 632
    12.3.1. 스피너  ... 632
    12.3.2. 그리드  ... 637
    12.3.3. 갤러리  ... 640
CHAPTER 13 고급 위젯 
  13.1 프로그래스바  ... 643
    13.1.1. 프로그래스바  ... 643
    13.1.2. 시크바  ... 650
    13.1.3. 래이팅바  ... 652
  13.2 날짜와 시간  ... 655
    13.2.1. 날짜 시간  ... 655
    13.2.2. 시계 위젯  ... 662
    13.2.3. 날짜, 시간 입력기  ... 663
    13.2.4. Chronometer  ... 672
  13.3 기타 위젯  ... 679
    13.3.1. 자동 완성  ... 679
    13.3.2. SlidingDrawer  ... 683
    13.3.3. ScrollView  ... 687
    13.3.4. WebView  ... 692
    13.3.5. 스포츠 경기 점수판  ... 698
  13.4 추가 위젯  ... 707
    13.4.1. 스위치  ... 707
    13.4.2. Space  ... 710
    13.4.3. NumberPicker  ... 712
    13.4.4. CalendarView  ... 717
    13.4.5. ListPopupWindow  ... 719
CHAPTER 14 커스텀 위젯 
  14.1 기존 위젯 변형  ... 723
    14.1.1. 위젯 수정  ... 723
    14.1.2. 위젯 조합  ... 727
    14.1.3. 커스텀 속성  ... 731
    14.1.4. 사운드 속성  ... 735
  14.2 새로운 위젯  ... 740
    14.2.1. 크기 정하기  ... 740
    14.2.5. 무지개 프로그래스  ... 753
CHAPTER 15 리소스 관리
  15.1 대체 리소스  ... 759
    15.1.1. 리소스 폴더  ... 759
    15.1.2. 화면 방향  ... 761
    15.1.3. 다국어 지원  ... 765
  15.2 화면 다양성  ... 771
    15.2.1. 화면의 종류  ... 771
    15.2.2. 논리 단위  ... 777
    15.2.3. 이미지 리소스  ... 783
    15.2.4. 레이아웃 활용  ... 792
    15.2.5. 논리 단위 구하기  ... 795
  15.3 화면 크기  ... 805
    15.3.1. 화면 크기  ... 805
    15.3.2. 화면 최소폭  ... 807
    15.3.3. 화면 호환성  ... 816
CHAPTER 16 대화상자 
  16.1 AlertDialog  ... 823
    16.1.1. 대화상자 생성  ... 823
    16.1.2. 대화상자 닫기  ... 828
    16.1.3. 대화상자의 버튼  ... 831
    16.1.4. 대화상자 미리 생성  ... 834
  16.2 대화상자 활용  ... 838
    16.2.1. 알림 메시지 전달  ... 838
    16.2.2. 질문하기  ... 842
    16.2.3. 목록 선택  ... 849
  16.3 대화상자 고급  ... 856
    16.3.1. 커스텀 대화상자  ... 856
    16.3.2. 팝업 윈도우  ... 859
CHAPTER 17 액티비티 
  17.1 액티비티  ... 867
    17.1.1. 액티비티 추가  ... 867
    17.1.2. 인텐트  ... 872
    17.1.3. 액티비티간의 통신  ... 876
    17.1.4. 암시적 인텐트  ... 882
  17.2 생명 주기  ... 890
    17.2.1. 액티비티의 일생  ... 890
    17.2.2. 상태 저장  ... 895
    17.2.3. 객체 저장  ... 902
  17.3 복잡한 액티비티  ... 910
    17.3.1. 탭  ... 910
    17.3.2. 페이지 겹치기  ... 918
CHAPTER 18 프로세스
  18.1 프로세스  ... 923
    18.1.1. 태스크  ... 923
    18.1.2. 론치 모드  ... 929
    18.1.3. 인텐트의 플래그  ... 935
    18.1.4. Application  ... 937
  18.2 Window  ... 943
    18.2.1. 타이틀 바  ... 943
    18.2.2. 레이아웃 채우기  ... 946
    18.2.3. 윈도우 관리자  ... 951
    18.2.4. 드래그하여 항목 순서 변경  ... 954
  18.3 패키지 관리  ... 954
    18.3.1. 외부 메모리에 앱 설치  ... 965
    18.3.2. 백업 및 복구  ... 970
CHAPTER 19 스레드 
  19.1 스레드  ... 973
    19.1.1. 스레드  ... 973
    19.1.2. 핸들러  ... 978
    19.1.3. 루퍼  ... 989
    19.1.4. 작업 스케줄링  ... 996
  19.2 스레드의 활용  ... 1004
    19.2.1. ANR  ... 1004
    19.2.2. StrictMode  ... 1009
    19.2.3. LongTime  ... 1013
    19.2.4. AsyncTask  ... 1021
    19.2.5. BackWork  ... 1025
닫기