목차

1부 안드로이드 기초

1장 안드로이드 개발 환경 구축하기

1 Java JDK 설치
  1.1 Java JDK 다운로드
  1.2 Java JDK 설치
  1.3 Java JDK 환경 설정
  1.4 Java JDK 버전 확인
2 이클립스 설치
  2.1 이클립스 설치
  2.2 이클립스 실행 및 작업 경로 정의
3 ADT 플러그인 설치
4 Android SDK 설치
  4.1 Android SDK 다운로드 및 압축 해제
  4.2 Android SDK 환경 설정
5 AVD(Android Virtual Device) 생성
  5.1 AVD 생성하기
  5.2 AVD 실행하기
  5.3 AVD 오작동 사례
  5.4 AVD 홈폴더 변경
6 Mac OS X용 안드로이드 개발 환경 구축
  6.1 JDK (Java Development Kit) 설치 확인
  6.2 Mac OS X용 이클립스 설치
  6.3 Mac OS X용 ADT 플러그인 설치
  6.4 Mac OS X용 Android SDK 설치
  6.5 Mac OS X용 Android SDK 환경 설정
  6.6 Mac OS X용 AVD 생성과 실행

2장 안드로이드 기초 다지기

1 안드로이드 프로젝트 생성하기
  1.1 안드로이드 프로젝트 생성 
  1.2 안드로이드 프로젝트 생성 속성
2 프로젝트 관리 기초 다지기
  2.1 프로젝트 열기/닫기
  2.2 프로젝트 삭제
  2.3 프로젝트 가져오기
3 프로젝트 소스 구성
  3.1 액티비티
  3.2 gen(Generated Java Files)  
  3.3 안드로이드 API
  3.4 리소스들
  3.5 화면 레이아웃 구성
  3.6 값요소(res/values)들 정의 
4 안드로이드 배포 설정
  4.1 "AndroidManifest.xml" 개요
  4.2 Android Manifest
  4.3 Android Manifest Application
  4.4 Android Manifest Permissions
  4.5 Android Manifest Instrumentation
  4.6 AndroidManifest.xml 파일 소스
  4.7 default.properties
5 디버그 모드 실행 

2부 앱사이트 구축

3장 인트로(Intro) 애니메이션

1 앱사이트 프로젝트 생성
2 표지(Intro) 페이지 생성
3 이미지 출력하기
  3.1 액티비티에서 직접 이미지 출력하기
  3.2 레이아웃 리소스를 통해 이미지 출력하기
4 문자열 출력
  4.1 문자열 그림자 효과
  4.2 문자열 줄 바꿈과 스타일
  4.3 문자열 자동 링크(웹주소, 이메일, 전화번호)
5 이미지 리소스 변경
6 가상기기 가로 화면 전환
7 가상기기 한글 설정
  7.1 가상기기 언어 변경
  7.2 가상기기 한글 입력기
8 애니메이션 효과 
  8.1 변형 애니메이션 (Tween Animation) 
  8.2 프레임 애니메이션 (Frame Animation)
  8.3 변형 애니메이션 (Tween Animation) 활용 
  8.4 프레임 애니메이션 (Frame Animation) 활용  
9 안드로이드 이미지 객체 
10 나인-패치(Nine-patch) 파일 만들기   
11 안드로이드 리소스 유형과 지정된 폴더 

4장 앱(App) 레이아웃 

1 레이아웃 애니메이션 구현 
2 레이아웃 액티비티 생성 
3 레이아웃 화면 전환 버튼 만들기 
4 레이아웃 디자인 편집기
5 상단 메뉴바
6 이클립스의 XML 자동 포맷 기능 

5장 메인 화면 구현(복합 레이아웃 )

1 레이아웃 공유 
2 FrameLayout의 겹침 효과 
  2.1 메인 배너 처리 
  2.2 겹침 효과  
3 분산 레이아웃 
4 FrameLayout으로 Tab 화면 구현하기 
5 앱 화면의 풀 스크린 

6장 HTML 뷰어

1 WebView로 웹 화면 출력하기 
2 WebView의 다양한 속성 설정 
3 WebView의 한글 인코딩 문제 
  3.1 웹서버와의 소켓 통신
4 DDMS를 이용한 안드로이드 로그캣 보기 
  4.1 안드로이드 Log 작성법  
5 라이브러리 찾아 추가하기 

7장 공유 액티비티 클래스화 

1 공유 클래스 만들기 
2 공유 클래스 활용하기 
3 프로젝트 이름 바꾸기 
4 소스 인코딩 디버깅

8장 앱보드(App-Board) 

1 메인 공지 목록 
  1.1 목록 객체 디자인
  1.2 목록 행 아이템 디자인 
  1.3 목록 어댑터 
  1.4 PHP 웹서버로 XML 데이터 서비스 
  1.5 메인 공지 프로세스 클래스 생성 
  1.6 웹서버와 통신 
  1.7 여러 가지 XML 해독기의 이해  
  1.8 XML 해독 - DOM Parser 방식 
  1.9 액티비티 연동 및 테스트 
2 실물 디자인 
  2.1 단말기(Device)에 맞는 레이아웃 디자인 
  2.2 스타일 디자인 
  2.3 실물 디자인 교정 
  2.4 실물 크기로 가상기기 설정/실험 
  2.5 띠무늬 목록 디자인 
3 공지 상세 보기 
  3.1 목록에 상세 버튼 만들기 
  3.2 안드로이드 내장 리소스 활용 
  3.3 HashMap으로 전체 데이터 공유 
  3.4 상세보기 버튼의 클릭 이벤트 
  3.5 레이아웃 스타일 정의 
  3.6 둥근 사각틀  
  3.7 레이아웃 디자인 
  3.8 Dialog에 레이아웃 리소스 사용 
  3.9 실험하기

9장 카테고리 탐색기

1 카테고리 객체 정의 
2 목록 어댑터 소스 복제 
3 행 레이아웃 복제
4 안드로이드 내장 이미지 활용 
5 이미지 버튼의 이미지 확대/축소 
6 카테고리 액티비티 
7 XML 해독의 솔루션화 
8 카테고리 XML 데이터 연동 
9 메인 액티비티에서 카테고리 출력 
10 행 레이아웃과 데이터 매핑 
11 동적 액티비티 구현 
12 제품 목록 임시 화면
13 카테고리 XML 데이터
14 카테고리 실험하기
15 동적 화면 제목

10장 앱 메뉴 

1 앱 메뉴 개요 
2 앱 메뉴의 기본 구성 및 사례 
  2.1 옵션 메뉴 
  2.2 콘텍스트 메뉴  
  2.3 서브 메뉴  
  2.4 메뉴 그룹  
3 앱 메뉴 디자인 
  3.1 메뉴 아이콘 등록 
  3.2 옵션 메뉴 XML 작성 
  3.3 서브 메뉴 XML 작성 
  3.4 그룹 메뉴 XML 작성 
  3.5 확장 메뉴 XML 작성 
4 옵션 메뉴 클래스 생성 
  4.1 동적 화면 전환 기능의 솔루션화  
  4.2 옵션 메뉴의 동적 화면 전환 
  4.3 회사 주소를 XML로 
5 인텐트를 통한 액티비티간 변수 전달  
6 옵션 메뉴의 액티비티 적용  
7 가상기기 실험  
8 콘텍스트 메뉴 구현  
  8.1 콘텍스트 메뉴 디자인 
  8.2 콘텍스트 메뉴의 액티비티 적용 
  8.3 가상기기 실험

11장 진행 화면(Loading) 

1 진행 화면 개요  
  1.1 가로형 진행 화면 
  1.2 회전형 진행 화면 
2 진행 화면 구현 
  2.1 버튼에 진행 화면 달기
  2.2 전역 진행 화면 로직 
  2.3 통신 모듈에 진행 화면 달기 
  2.4 액티비티 라이프사이클
  2.5 액티비티에 진행 화면 달기 
  2.6 메뉴에 진행 화면 달기

3부 앱몰 구축 

12장 회원약관/회원가입 

1 옵션 메뉴 추가 
2 웹 회원 가입 화면 분석 
3 웹이미지 가공 
4 이미지 리소스 등록
5 회원약관 레이아웃 디자인 
6 회원가입폼 레이아웃 디자인 
7 화면 제목 정의 
8 화면 스타일 정의  
9 액티비티 정의  
10 회원약관 액티비티 
11 회원정보 입출력 
12 입력란 필터 
13 단말기 정보 가져오기 
14 입력란 관련 유틸
15 회원가입폼 액티비티 
16 회원약관 XML 
17 회원가입 XML  
18 실험하기

13장 로그인 

1 이미지 리소스 등록 
2 로그인폼 레이아웃 디자인 
3 로그인 액티비티 
4 로그인 XML 
5 실험하기

14장 회원 등급 제어
 
1 인증 확인 유틸 추가 
2 관리자 전용 메뉴 추가
3 메뉴 접근 제어 
4 액티비티에 메뉴 접근 제어 기능 적용 
5 메뉴 접근 제어 XML
6 실험하기

15장 로그아웃

1 로그아웃 액티비티 등록 
2 로그아웃 액티비티 
3 로그아웃 XML
4 실험하기 

16장 회원 정보 보기
 
1 레이아웃 재활용 
2 액티비티 
3 실험하기

17장 회원 정보 변경 

1 레이아웃 재활용 
2 액티비티 
3 세션 통신 
4 세션을 위한 XML 문서 
5 실험하기 
6 디버깅 

18장 회원 탈퇴 

1 액티비티 
2 탈퇴 XML 
3 실험하기 
4 디버깅(소스 코드 일괄 변경)

19장 암호 찾기 마법사  

1 SMS 발송 서비스 
2 마법사 형식의 액티비티 
3 SMS 수신 감지  
4 임시암호 처리 XML
  4.1 실험 아이디(testXXXX) 설정
  4.2 암호 찾기 XML
  4.3 임시암호 로그인
  4.4 관리자 정보 XML
  4.5 XML 실험 
5 실험하기 
  5.1 테스트 시나리오 
  5.2 회원가입 제한 > 문의하기
  5.3 회원가입 > 휴대전화기 가입 > 암호 찾기
  5.4 회원가입 > 휴대전화기 가입 > 암호 찾기 > 기타 오류 실패
  5.5 회원가입 > 휴대전화기 가입 > 암호 찾기 > 계정 없음
  5.6 회원가입 > 휴대전화기 가입 > 암호 찾기 > 기타 버튼 실험

20장 고객센터 

1 레이아웃 디자인  
2 인텐트를 사용한 서비스 연동 
  2.1 SMS 문의하기 
  2.2 음성통화로 문의하기 
  2.3 이메일로 문의하기 
  2.4 웹사이트로 연결하기 
  2.5 고객센터 가는 길(네비게이션) 
3 고객센터 액티비티 
  3.1 액티비티 등록 및 생성 
  3.2 화면 출력 프로세스 
  3.3 현재 위치 감지 프로세스  
4 고객센터 메뉴 추가 
5 GPS를 지원하는 가상기기 생성 
6 실험하기

21장 상품 검색 

1 카테고리 탐색 
  1.1 계층형 카테고리 탐색 
  1.2 실험용 XML 문서 준비 
  1.3 XML 문서 실험 
2 동적 화면 제목 구현 
3 상품 목록 레이아웃 
  3.1 검색폼 
  3.2 행 레이아웃  
4 상품 목록 아답터 
5 상품 목록 액티비티 
6 상품 검색 XML 
7 실험하기

22장 상품 상세 정보

1 상품 상세 정보 레이아웃
2 상품 상세 정보 액티비티 
  2.1 선택상자(Spinner) 
  2.2 이미지 확대축소(Bitmap Resizing)
  2.3 장바구니 버튼
  2.4 쇼핑계속 버튼
  2.5 웹 상세 정보 버튼 
  2.6 문자열 치환 유틸리티 
3 상품 상세 정보 XML
  3.1 실험용 XML 제너레이터 소스
  3.2 XML 테스트 
4 옵션 메뉴와 상품 검색 기능 교정
5 디버깅 및 실험하기
  5.1 NumberFormatException 디버깅 

23장 장바구니

1 레이아웃 디자인 
  1.1 장바구니 화면 레이아웃 
  1.2 행 레이아웃  
2 액티비티와 유틸리티
  2.1 Activity와 Provider 등록 
  2.2 SQLite를 이용한 로컬 데이터베이스 구축 
  2.3 ContentProvider 구축 
  2.4 액티비티 
  2.5 아답터  
  2.6 화폐 포맷 유틸리티
  2.7 문자열을 배열로 분리하는 유틸리티
  2.8 Cursor를 HashMap으로 변환하는 유틸리티 
  2.9 배송비, 결제금액 등을 연산하는 유틸리티 
3 장바구니 옵션 메뉴 추가 
4 실험하기

24장 주문서
 
1 주문서 작성
  1.1 레이아웃 디자인
  1.2 배열 리소스 활용 
  1.3 액티비티 
  1.4 주문서 등록 XML 
  1.5 주문서 XML 실험용 폼 
  1.6 주문서 등록 XML 실험 
2 로그인 후 이전 화면으로 이동 
3 주문내역 조회
  3.1 주문서 목록 레이아웃 
  3.2 주문서 행 레이아웃
  3.3 내역 목록 레이아웃 
  3.4 내역 행 레이아웃 
  3.5 주문내역 액티비티 
  3.6 주문서 목록 아답터 
  3.7 내역 목록 아답터 
  3.8 점프 액티비티 
  3.9 주문서 목록 XML 
  3.10 주문내역 XML 
4 실험하기
  4.1 XML 실험
  4.2 앱 실험

4부 인터렉티브 / 테크니컬 

25장 비디오 재생 

1 비디오 액티비티 생성 
2 비디오 파일 등록 
3 비디오 재생 화면 만들기 
4 비디오 재생 콘트롤 작성  
5 "인트로 화면"에 홍보 영상 버튼 만들기

26장 오디오 재생 
 
1 오디오 관련 파일 등록 
2 버튼 디자인 
  2.1 level-list 버튼 
  2.2 애니메이션 버튼 
  2.3 상단 메뉴바에 오디오 버튼 달기 
3 오디오 재생 프로세스 
  3.1 오디오 데이터 정보 등록 
  3.2 미디어 플레이어 준비  
  3.3 오디오 재생 제어 
4 실험하기 

27장 센서를 이용한 개발

1 센서 시뮬레이터를 이용한 센서 개발
  1.1 SensorSimulator 다운받기
  1.2 SensorSimulator 설치하기
  1.3 SensorSimulator 설정하기
  1.4 SensorSimulator 데모 실험
2 SensorSimulator 데모 활용
  2.1 SensorSimulator 데모 소스 분석 
  2.2 Warning 처리 
  2.3 센서 시뮬레이션 프로그램의 활용 
  2.4 SensorEventListener를 이용한 센서 액티비티

28장 GPS로 회사 찾기 

1 구글맵 만들기 
  1.1 구글맵 액티비티 생성  
  1.2 구글맵 라이브러리 추가 
  1.3 구글맵 접근 권한 설정 
  1.4 구글맵 화면 레이아웃 만들기
  1.5 구글맵 텍스트 버튼 만들기 
  1.6 구글맵 가상기기 생성 
  1.7 사용할 가상기기 설정  
2 구글맵 인증키(Google Maps API Key) 설치하기 
3 GPS 좌표로 지도 찾기 
4 주소로 지도 찾기 
  4.1 XML 방식의 구글맵 GPS 정보 서비스 
  4.2 JSON 방식의 구글맵 GPS 정보 서비스 
  4.3 "지도 화면" 수정 
  4.4 안드로이드 전역변수 구현 
  4.5 주소 검색폼 만들기 
  4.6 전역변수를 통한 지도 검색 버튼  
  4.7 주소로 GPS 좌표를 구하는 액티비티 
  4.8 좌표 정보 오버레이 클래스 
  4.9 실험하기 

29장 DDMS

1 DDMS 실행하기
2 Devices 창
3 File Explorer 창
4 Emulator Control 창
  4.1 가상기기 통화 및 SMS
  4.2 2대의 가상기기로 통화 및 SMS 실험 
  4.3 가상기기 맵 위치 정보
5 LogCat 창

30장 HTTPS 보안처리 
 
1 SSL 아파치 서버 설정법  
  1.1 사설 SSL 인증서 만들기
  1.2 SSL 가상 호스트 설정 
  1.3 아파치 https 실험하기
2 https 통신 솔루션 
  2.1 로그인, 회원가입은 https로 통신
  2.2 POST 방식의 SSL 통신
  2.3 사설 SSL을 앱에서 인증하는 방법
  2.4 SSL을 위한 쿠키읽기
3 실험하기 

31장 공동 작업과 소스 버전 관리를 위한 CVS(Concurrent Versions System)

1 CVSNT 서버 구축 - 평가판 
  1.1 Window 7에 CVS Suite 설치 
  1.2 제어판을 이용한 CVSNT 서버 설정 
  1.3 CVS 계정 등록 
  1.4 CVS 계정 인증 실험 
2 CVSNT 서버 구축 - GNU 라이선스 버전(2.5.X) 
  2.1 Window 7에 CVSNT-2.5.X 버전 설치 
  2.2 CVSNT Control Panel의 문제와 CVS 서비스 확인 
  2.3 CVS 명령어로 저장소 설정 
  2.4 64비트에서 CVS 계정 설정 
3 CVS를 통한 이클립스 형상 관리

5부 배포 

32장 안드로이드 마켓에 배포

1 개발자 등록
2 안드로이드 앱 인증키 발급
  2.1 이클립스를 이용한 앱 인증키 생성
  2.2 터미널을 이용한 앱 인증키 생성
3 앱 업로드와 앱 배포 
4 배포 실무 및 단말기 실험  
  4.1 앱의 버전 변경하기
  4.2 앱 배포하기
  4.3 배포키 발급
  4.4 단말기 실험
  4.5 디버깅 및 2차 배포

부록 : 앱앨범 발매하기