목차

1장 안드로이드 소개
___안드로이드의 진화
___안드로이드의 이중성
___안드로이드 기기
______HTC
______모토로라
______삼성
______태블릿
______기타 기기
___안드로이드 기기의 하드웨어
______화면
______사용자 입력 장치
______센서
___안드로이드의 특징
______멀티태스킹과 위젯
______터치, 제스처, 멀티터치
______하드 키보드, 소프트 키보드
___안드로이드 개발
______책의 예제를 사용하는 법
______좋은 애플리케이션 디자인
______상위 호환성 유지
______견고성
___소프트웨어 개발 키트
______설치와 업그레이드
______소프트웨어 기능과 API 레벨
______에뮬레이터와 안드로이드 디버깅
______안드로이드 디버그 브릿지 사용
______서명과 배포
___안드로이드 마켓
______사용자 라이선스 계약
______애플리케이션 찾기 쉽게 만들기
______앱 차별화
______과금 방법
______리뷰와 업데이트 관리
______독립 안드로이드 마켓

2장 애플리케이션의 기초: 액티비티와 인텐트
___안드로이드 애플리케이션
______예제: 프로젝트와 액티비티 생성
______프로젝트 디렉토리 구조와 자동 생성 콘텐츠
______안드로이드 패키지와 Manifest 파일
______이름 변경
___액티비티 라이프사이클
______예제: 라이프사이클 함수 이용
______예제: 단일 태스크 모드로 실행
______예제: 화면 방향 고정
______예제: 액티비티 정보 저장과 복구
___여러 개의 액티비티
______예제: 버튼과 TextView 사용
______예제: 이벤트로 다른 액티비티 실행
______예제: 음성 텍스트 변환 결과를 받는 액티비티 실행
______예제: 선택 리스트 구현
______예제: 암시적 인텐트를 사용한 액티비티 생성
______예제: 액티비티 사이에 원시 데이터 타입 전달

3장 스레드, 서비스, 리시버, 경고
___스레드
______예제: 부 스레드 실행
______예제: Runnable 액티비티 생성
______예제: 스레드의 우선순위 설정
______예제: 스레드 취소
______예제: 두 애플리케이션 간 스레드 공유
___스레드 간 메시지: 핸들러
______예제: 주 스레드의 Runnable 태스크 스케줄하기
______예제: 카운트다운 타이머 사용
______예제: 시간 소모적 초기화 조작
___서비스
______예제: 자급자족 서비스 생성
___브로드캐스트 리시버 추가
______예제: 카메라 버튼이 눌릴 때 서비스 시작
___앱 위젯
______예제: 앱 위젯 작성
___경고
______예제: Toast를 사용해 화면에 요약 메시지 출력
______예제: 경고 대화상자 이용
______예제: 상태 바에 알림 노출

4장 사용자 인터페이스 레이아웃
___자원 디렉토리와 일반 속성
______예제: 다른 자원 명시
___View와 ViewGroup
______예제: 이클립스 편집기에서 레이아웃 구성
______예제: UI 요소의 너비와 높이 제어
______예제: 상대적 레이아웃과 레이아웃 ID 설정
______예제: 프로그램에서 레이아웃 선언
______예제: 별도의 스레드에서 레이아웃 갱신
___텍스트 조작
______예제: 텍스트 속성 설정과 변경
______예제: 텍스트 입력
______예제: 폼 생성
___기타 위젯: 버튼부터 탐색 바까지
______예제: 테이블 레이아웃에 이미지 버튼 사용
______예제: 체크상자와 토글 버튼 사용
______예제: 라디오버튼 사용
______예제: 드롭다운 메뉴 작성
______예제: 진행 바 사용
______예제: 탐색 바 사용

5장 사용자 인터페이스 이벤트
___이벤트 핸들러와 이벤트 리스너
______예제: 물리적 키 눌림 가로채기
______예제: 메뉴 제작
______예제: XML에서 메뉴 정의
______예제: 검색 키 활용
______예제: 터치 이벤트에 반응
______예제: 튕기기 제스처 처리
______예제: 멀티터치 이용
___고급 사용자 인터페이스 라이브러리
______예제: 제스처 이용
______예제: 3D 이미지 그리기

6장 멀티미디어 기법
___이미지
______예제: 이미지 로딩
___오디오
______예제: 오디오 파일 선택과 재생
______예제: 오디오 파일 녹음
______예제: 로 오디오 조작
______예제: 사운드 자원의 효율적 사용
______예제: 미디어 추가와 경로 갱신
___비디오

7장 하드웨어 인터페이스
___카메라
______예제: 카메라 제어
___기타 센서
______예제: 기기의 회전 찾아내기
______예제: 온도 센서와 조도 센서 이용
___전화
______예제: 전화 매니저 이용
______예제: 폰 상태 듣기
______예제: 전화번호 누르기
___블루투스
______예제: 블루투스 켜기
______예제: 블루투스 기기 검색
______예제: 묶인 블루투스 기기와 페어링
______예제: 블루투스 소켓 열기
______예제: 진동 이용
______예제: 무선 네트워크 접속

8장 네트워킹
___SMS 사용
______예제: 수신 SMS에 SMS 자동 응답
___웹 콘텐츠 사용
______예제: 웹 브라우저 커스터마이징
______예제: HTTP GET 이용
______예제: HTTP POST 이용
___소셜 네트워크
______예제: 트위터와 통합

9장 데이터 저장 메소드
___공유 설정
______예제: 공유 설정 생성과 검색
______예제: 설정 프레임워크 이용
______예제: 저장된 데이터를 기반으로 UI 변경
______예제: EULA 추가
___SQLite 데이터베이스
______예제: 별도의 데이터베이스 패키지 생성
______예제: 별도의 데이터베이스 패키지 이용
______예제: 개인 다이어리 제작
___콘텐트 프로바이더
______예제: 콘텐트 프로바이더 제작
___파일 저장하기/불러오기

10장 위치 기반 서비스
___위치
______예제: 최근 위치 찾기
______예제: 변화에 따라 위치 갱신
______예제: 모든 가능한 제공자 목록 구하기
______예제: 위치를 주소로 변환(역지오코딩)
______예제: 주소를 위치로 변환(지오코딩)
___구글 맵스 이용
______예제: 구글 맵스 애플리케이션에 추가
______예제: 지도에 마커 추가
______예제: 지도에 뷰 추가
______예제: 기기의 현재 위치를 지도에 표시
______예제: 근접 경고 설정

11장 고급 안드로이드 개발
___안드로이드 커스텀 뷰
______예제: 버튼 수정
___안드로이드 네이티브 구성 요소
______예제: 네이티브 구성 요소 개발
___안드로이드 보안
______예제: 권한 선언과 부여
___안드로이드 프로세스 간 통신
______예제: 원격 프로시저 호출 구현
___안드로이드 백업 관리자
______예제: 런타임 데이터 백업
______예제: 클라우드에 파일 백업
______예제: 백업과 복구 시작
___안드로이드 애니메이션
______예제: 애니메이션 작성

12장 디버깅
___이클립스 내장 디버깅 툴
______예제: 실행 환경 설정
______예제: DDMS 사용
______예제: 중단점으로 디버깅
___안드로이드 SDK 디버깅 툴
______예제: 안드로이드 디버그 브릿지 이용
______예제: LogCat 이용
______예제: 계층 뷰어 사용
______예제: TraceView 이용
___안드로이드 시스템 디버그 툴
______예제: GDB 디버거 설정