목차

00장 안드로이드, 넌 누구니? 
-  안드로이드 소개
-  안드로이드 개발 환경의 특징
-  이 책의 구성
-  또 다른 세상으로의 초대 
 
01장 이클립스와 안드로이드 SDK로 무장하기 
-  SDK 설치하기
-  에뮬레이터 생성하기
-  이클립스 설치하기
-  ADT 플러그인
-  이클립스 단축키 및 유용한 기능 소개
-  콘솔 화면에서 SDK 툴을 사용하기 위한 작업들
 
02장 언제나 그렇듯 시작은 “Hello, world!” 
-  Hello World 프로젝트 생성하기
-  프로젝트 실행하기
-  기본 템플릿 파일과 코드 이해하기
-  액티비티
-  R.java
-  클래스패스 컨테이너
-  에셋
-  레이아웃 리소스
-  문자열 리소스
-  안드로이드 매니페스트
-  이클립스와 넥서스S를 연결한 타겟 개발 환경 구축하기
-  마치며
 
03장 안드로이드 애플리케이션의 철학 
-  안드로이드 애플리케이션
-  애플리케이션 샌드박스
-  애플리케이션의 핵심 구성요소
-  안드로이드 애플리케이션의 구동 방식과 태스크 
-  로그캣
-  액티비티의 생명주기
-  액티비티 추가하기
-  리스너
-  인텐트의 기본
-  명시적 인텐트
-  암시적 인텐트
-  인텐트의 특징을 나타내는 6가지 구성 요소
-  인텐트 필터
-  요약
 
04장 안드로이드의 권한 시스템 
-  권한 추가하기
-  권한 정의하기
-  매니페스트에서 사용할 수 있는 권한의 종류
 
05장 기본적인 사용자 인터페이스 구성 요소 
-  안드로이드 인터페이스 구성 요소와 뷰의 계층 구조
-  레이아웃의 종류
-  버튼
-  텍스트뷰
-  LinearLayout
-  안드로이드의 측정 단위, 정확히 알고 넘어가기
-  RelativeLayout
-  TableLayout
-  FrameLayout
-  FrameLayout과 탭액티비티
-  AbsoluteLayout
-  이미지뷰
-  에디트텍스트
-  자동 완성 기능 구현하기
-  TextWatcher 인터페이스를 사용한 글자 수 세기
-  안드로이드의 소프트 키보드
-  InputMethodManager로 소프트 키보드 제어하기
-  체크박스
-  라디오버튼
-  토글버튼
-  스크롤뷰
 
06장 다양한 기능을 지원하기 위한 고급 위젯들 
-  콤보박스 같은 안드로이드의 스피너
-  그리드뷰
-  갤러리
-  뷰플리퍼
-  뷰플리퍼에 애니메이션 효과 추가하기
-  옵션 메뉴
-  컨텍스트 메뉴
-  리스트뷰
 
07장 이벤트 전달을 위한 안드로이드의 세 가지 도구 
-  토스트
-  알림
-  다이얼로그
-  세 가지 메시지 전달 도구 맛보기
 
08장 눈과 귀를 즐겁게 하는 멀티미디어 다루기 
-  MediaPlayer와 MP3 플레이어 만들기
-  비디오뷰
 
09장 스레드와 핸들러 
-  스레드
-  핸들러
 
10장 안드로이드의 기본 저장소 사용하기 
-  파일 다루기
-  애플리케이션의 설정 다루기
-  내부 저장소와 캐시, 로우 리소스
 
11장 모바일 데이터베이스 SQLite 활용하기 
-  SQLite와 친해지기
-  User Management 프로젝트
-  SQLite를 위한 GUI 툴, SQLite Database Browser
 
12장 콘텐트 프로바이더 
-  콘텐트 프로바이더
-  콘텐트 리졸버
-  주소록 애플리케이션에서 연락처 정보 가져오기
-  나만의 콘텐트 프로바이더 만들기
-  Get Contacts 프로젝트 수정하기
 
13장 위치 기반 서비스 
-  MapView와 MapActivity
-  구글 맵 API와 애플리케이션 패키지, Keystore 파일
-  Google Map Service 프로젝트
-  내 위치를 알려주세요 - 로케이션 매니저 활용하기
-  Google Map Service 프로젝트를 GPS 정보와 결합하기
-  프로젝트를 빛나게 할 마지막 손질
 
14장 네트워크 API 활용하기 
-  소켓
-  소켓을 이용한 1:1 채팅 프로그램
-  HTTP
-  블루투스
 
15장 서비스의 생성과 구동 
-  서비스의 개요와 생명주기
-  예제로 확인하는 서비스의 생명주기
-  Weather Information Service 프로젝트
-  Weather Information Service 프로젝트에 홈 스크린 위젯 추가하기
-  Weather App Widget 업데이트하기
-  Weather App Widget에 설정 액티비티 추가하기
 
16장 안드로이드의 IPC 
-  바인딩
-  AIDL
-  Service와 AIDL을 사용한 IPC 서비스 예제
 
17장 오픈소스 웹킷 엔진과 웹뷰 맛보기 
 
18장 애플리케이션의 리소스와 지역화 
-  리소스 타입들
-  리소스의 제공과 접근
-  호환성 유지를 위한 리소스 제공
-  애플리케이션의 지역화
-  Localization 프로젝트
-  마무리
 
19장 안드로이드의 그래픽스 객체와 애니메이션 
-  Canvas, Paint, Bitmap
-  Xfermode
-  Xfermode를 사용하여 모서리가 둥근 사각형 이미지 만들기
-  Shader와 Gradient
-  Drawable
-  ShapeDrawable와 커스텀 뷰
-  NinePatchDrawable
-  프레임 애니메이션
-  트윈 애니메이션
-  마무리
 
20장 트위터 클라이언트 만들기 
-  애플리케이션의 기능 둘러보기
-  프로젝트에 Twitter4J 라이브러리 추가하기
-  트위터 리소스 파일 추가하기
-  트위터 프로젝트의 클래스와 레이아웃
-  변경된 트위터의 인증 체계
-  OAuth 인증을 사용하기 위한 애플리케이션 등록
-  TwitterActivity
-  TwitListAdapter
-  ListViewLayoutData
-  TwitterFriendImage
-  AddNewTwitActivity
-  TwitViewActivity
-  마무리
 
21장 애플리케이션의 설치와 백업 
-  애플리케이션의 외부 메모리 설치
-  애플리케이션 데이터의 백업과 복구
-  Twitter 애플리케이션에 BackupAgentHelper 추가하기
-  adb와 bmgr을 이용한 애플리케이션 백업/복구 테스트
-  BackupAgentHelper가 아닌 BackupAgent 상속받기
 
22장 안드로이드의 화면 회전 
-  화면 회전 시 데이터 저장하기
-  화면 회전 시에 필요한 코드 수행하기
 
23장 안드로이드 푸쉬 메시징 서비스 C2DM 
-  C2DM 서비스의 기본적인 특징
-  C2DM 서비스의 동작구조
-  라이프 사이클 흐름
-  C2DM 서비스 활성화
-  메시지 송신하기
-  메시지 수신하기
-  C2DM 구현
-  매니페스트 생성
-  C2DM 등록
-  C2DM 등록 해제
-  등록 결과 처리
-  데이터 수신 처리
-  서드파티 애플리케이션 서버의 역할
-  애플리케이션 서버가 메시지를 전송하는 법
-  주의할 점
-  C2DM 메신저 예제
-  C2DM 사용 신청
-  C2DM 서드파티 애플리케이션 서버
-  C2DM 메신저 프로젝트 구현
 
24장 안드로이드 mVoIP 
-  SIP 서버에 연결하기
-  SipAudioCall 클래스와 전화 걸기7
-  전화 받기
-  테스트를 위한 SIP 서버 구축
-  Asterisk 서버 실행
-  Asterisk 서버 설정 및 사용자 추가
-  Simple SIP Application 프로젝트
 
25장 안드로이드 NFC 통신 기술 
-  NFC 통신의 구현
-  NFC 태그 검색과 인텐트 처리
-  NFC 태그 읽기
-  NFC 태그에 데이터 쓰기
-  NFC Simple Reader 프로젝트 테스트
-  마치며
 
26장 애플리케이션 개발에 사용되는 유용한 도구들 
-  adb
-  Monkey
-  DDMS
-  이클립스 디버거
 
27장 안드로이드 마켓과 애플리케이션 판매 
-  안드로이드 마켓 필터링
-  애플리케이션 판매를 위한 개발자 등록
 
28장 더 배우고 공유하기 
-  해결하지 못한 문제에 대해
-  오픈 플랫폼의 매력
-  마치며