culture/book

알짜만 골라 배우는 안드로이드 프로그래밍

deity4u 2010. 2. 4. 18:26
마크 머피 저/강철구 역 | 에이콘출판사 | 원서 : Beginning Android

알짜만 골라 배우는 안드로이드 프로그래밍 


책소개

안드로이드 환경에서 애플리케이션을 개발하고 고급 애플리케이션 개발 단계로 쉽게 넘어가도록 돕는 데 목표를 뒀다. 안드로이드는 데스크탑 환경에서 사용자 인터페이스를 개발해본 경험이 있는 개발자라면 굉장히 쉽게 접근할 수 있는 것으로, 이 책은 안드로이드만의 인터페이스 프레임웍을 사용해야 하는 적응 기간을 최대한 줄일 수 있도록 대표적인 기능을 모아 예제와 함께 소개하고 있다.

안드로이드의 기본적인 부분에 대한 설명을 읽으면서, 완벽하게 동작하는 예제를 간편하게 돌려볼 수 있다. 또한 예제 코드를 기반으로 책에서 설명하는 다양한 클래스와 API를 실행해 보면서 안드로이드에 좀 더 빠르게 적응할 수 있도록 하였다.

저자 소개

저자: 마크 머피

커먼즈웨어(CommonsWare)를 설립하고 『The Busy Coder's Guide to Android Development』를 저술했다. 세 번째 회사를 경영하면서 오픈 소스 관련 컨설팅과 대기업을 대상으로 협업 개발도 진행하고 있으며, 각종 하드웨어에서 동작하는 애플리케이션을 다수 개발했다. 초기 TRS-80 기기부터 최신 휴대용 장비까지 다루면서 25년 이상 소프트웨어 개발자로 일했다. 또한 여러 나라에서 개최된 다양한 컨퍼런스에서 발표와 교육 세션 등을 진행한 유능한 강연자로 알려져 있다. 안드로이드가이즈(AndroidGuys)에 'Building Droids'라는 컬럼을, 네트웍월드(NetworkWorld)에 'Android Angle'이라는 안드로이드 관련 컬럼을 연재한다.

역자: 강철구

컴퓨터 비전(영상 인식)을 전공했고 검색 엔진, 인공 지능, 모바일 등의 키워드에 관심이 많다. 현재는 루씬을 이용한 검색 솔루션과 플랫폼을 개발하는 중이며, 관심사와 관련된 새롭고 재미있는 비즈니스를 준비하고 있다. 에이콘출판사에서 출간한 『루씬 인 액션』(2005)과 『Ajax 인 액션』(2006), 『자바 병렬 프로그래밍』(2008)을 번역했다.

목차

1부 안드로이드 기초

1장 개요
안드로이드 프로그램 구조
액티비티
컨텐트 프로바이더
인텐트
서비스
사용 가능한 구성 요소
데이터 보관
네트웍
멀티미디어
GPS
전화 서비스
개발환경 준비
안드로이드 SDK 설치
개발환경 설정
이클립스 플러그인 설치
안드로이드 가상 기기 생성

2장 프로젝트 디렉토리
루트 디렉토리
생성되는 내용
그 밖의 디렉토리
결과로 얻는 내용

3장 매니페스트 파일
루트 엘리먼트
권한, 기본 연동 요소, 애플리케이션
애플리케이션 엘리먼트
SDK 버전

2부 액티비티

4장 애플리케이션 작성
프로젝트 생성
액티비티
액티비티 분석
빌드와 실행

5장 XML 레이아웃
XML 기반 레이아웃
XML로 레이아웃을 지정하는 이유
XML 레이아웃 파일 구조
엘리먼트 ID
자바 코드와 연결하는 방법
종합정리

6장 기본 위젯
레이블
버튼
이미지
입력 필드
체크 박스
라디오 버튼

유용한 속성
유용한 메소드

7장 컨테이너
LinearLayout
개념과 속성
LinearLayout 예제
RelativeLayout
개념과 속성
RelativeLayout 예제
TableLayout
기본 개념과 속성
TableLayout 예제
스크롤

8장 선택 기능 위젯
공통의 인터페이스 어댑터
ArrayAdapter
그 밖의 어댑터
리스트 예제
스핀 컨트롤
그리드
입력 필드: 타이핑 줄이기
갤러리

9장 리스트 고급 활용
가장 간단한 작업
동적인 내용
인플레이션
다시 리스트로 돌아가서
성능 개선
convertView 활용
홀더 패턴
원하는 대로 만들기
다시 살펴봅시다

10장 고급 위젯과 컨테이너
날짜, 색상 선택
시계
진행상태 표시

탭 구성 요소
주의할 점
연결과 탭 완성
동적으로 탭 추가
인텐트와 뷰
플리퍼
그 밖의 위젯

11장 메뉴
메뉴 종류
옵션 메뉴
컨텍스트 메뉴
메뉴 예제
메뉴 인플레이션
메뉴 XML의 구조
메뉴 관련 속성
메뉴 인플레이션

12장 글꼴
기본 포함 글꼴

13장 웹킷 브라우저
단순한 브라우저
원하는 내용 표시
브라우저 내비게이션
WebViewClient
설정과 옵션

14장 팝업 메시지
토스트
경고창
팝업 메시지 예제

15장 스레드
Handler 객체
Message 객체
Runnable 객체
Handler 없이 실행
사용자 인터페이스 스레드
주의해야 할 점

16장 액티비티 생명주기
액티비티 상태
액티비티 생명주기
onCreate(), onDestroy()
onStart(), onRestart(), onStop()
onPause(), onResume()
부드러운 상태 변화

3부 데이터 보관, 네트웍 서비스, API

17장 환경설정
원하는 값 추출
환경설정 관리
환경설정 XML
환경설정 기능 제공
모양새 갖추기
환경설정 팝업

18장 파일
고정된 파일
읽고 쓰기

19장 리소스
리소스의 종류
문자열
일반 문자열
문자열 포매팅
화면 표시 스타일
스타일이 적용된 포매팅
이미지
XML
기타 리소스
크기
색깔
배열
환경에 맞는 리소스 선택

20장 로컬 데이터베이스
SQLite
기초
테이블 준비
데이터 추가
데이터 불러오기
SQL문 직접 지정
일정한 형식의 쿼리
쿼리 구문 생성
커서 활용
커서 구현
데이터 직접 다루기

21장 외부 자바 라이브러리
제한 사항
Ant와 JAR
스크립트 활용
기타 사항

22장 인터넷 연결
REST
기본 HTTP 작업
응답 분석
고려 사항

4부 인텐트

23장 인텐트 필터
인텐트
인텐트 구조
인텐트 라우팅
인텐트 생성
인텐트 리시버
일시정지 문제

24장 액티비티 실행
액티비티 종류
실행
인텐트 작성
호출
탭 브라우징

25장 대상 액티비티 찾기
액티비티 선택
메뉴
직접 확인

26장 화면 회전
종료 및 재시작
가로보기, 세로보기
더 많은 정보 보관
직접 처리하는 회전 작업
화면 고정
가속도계만 사용

5부 컨텐트 프로바이더, 서비스

27장 컨텐트 프로바이더
Uri 구성
Uri 생성
쿼리 실행
데이터 자동 적용
데이터 수동 추출
위치
속성 읽기
데이터 추가와 변경
BLOB 문제

28장 컨텐트 프로바이더 구현
내부 구성 요소
데이터 타입
1단계: 컨텐트 프로바이더 클래스 생성
onCreate() 메소드
query() 메소드
insert() 메소드
update() 메소드
delete() 메소드
getType() 메소드
2단계: Uri 지정
3단계: 속성 정의
4단계: 매니페스트 설정
변경 사항 알림

29장 권한
권한 확보
권한 요청
AndroidManifest.xml 파일에 권한 명시
그 밖의 권한 요청 방법
자세한 문서와 설명

30장 서비스 구현
서?스 클래스
프로세스 간 통신
AIDL 작성
인터페이스 구현
AndroidManifest.xml
IPC 클라이언트 호출
원격 서비스, 프로그램의 나머지 부분

31장 서비스 호출
바인딩
서비스 호출
서비스 연결 해제
수동 실행
데이터 수신

32장 사용자 알림
알림 메시지 종류
기기 알림 메시지
아이콘
알림 메시지 예제

6부 안드로이드의 다양한 기능

33장 위치 기반 서비스
위치 정보 프로바이더
위치 확인
변경 사항 업데이트
목표 지점 도착 알림
테스트

34장 지도, MapView, MapActivity
구글 지도 사용권 계약
구글 지도 기초
지도 제어 기능
확대/축소 배율
중심 이동
위성 사진 지도
레이어
오버레이 클래스
ItemizedOverlay 표시
화면 터치 처리
현재 위치와 방향
API 키 발급

35장 전화
TelephonyManager
전화 걸기

36장 검색, SearchManager
검색 결과 수집
애플리케이션 내부 검색
검색 액티비티 작성
매니페스트
검색 실행

37장 개발 도구
계층 탐색기
달빅 디버깅
로그
파일 업로드, 다운로드
화면 캡처
위치 지정
전화 걸기, SMS 발송
SD카드
SD카드 이미지 생성
SD카드 삽입

38장 안드로이드 관련 정보 얻기
질문과 대답
안드로이드 소스 코드
최신 소식

부록 안드로이드 1.5 & 1.6
안드로이드 가상 장비
프로젝트 생성
프로젝트 설정
부가 기능
추가 위젯
소프트 키보드
홈 화면
스레드
기타
음성 인식
IntentService
음악 재생 옵션
MediaRecorde

책속으로

안드로이드의 세계에 발을 담근 독자 여러분을 환영한다. 지금 모바일 애플리케이션 개발의 측면에서 새로운 시대가 열리고 있다. 오픈 플랫폼과 오픈 소스를 바탕으로 모바일 관련 개발자가 온실속의 화초로 자랄 수 있는 따뜻한 환경이 갖춰지는 중이다. 안드로이드는 개발자 입장에서 적응하기가 쉽기 때문에 이와 같은 혁신을 통해 짧은 시간 안에 개발자와 사용자가 연결되는 대규모 시장이 형성될 것으로 기대한다. 평범한 자바 개발자라면 누구든지 각자가 만들고자 하는 모바일 애플리케이션을 구상해 개발할 수 있고, 개발한 애플리케이션은 수많은 일반 소비자에게 직접 노출해 판매할 수 있다.

또한 이 책을 선택해준 데 깊이 감사한다. 이 책은 안드로이드 환경에서 애플리케이션을 개발하고 고급 애플리케이션 개발 단계로 쉽게 넘어가도록 돕는 데 목표를 뒀다. 안드로이드는 필요한 기능을 이미 충분히 갖추고 있으며 데스크탑 자바 개발 환경과 비교할 수 있는 수준에 이르렀다고 본다. 따라서 안드로이드 플랫폼을 활용해 상상 속의 멋지고 특별한 애플리케이션을 얼마든지 작성할 수 있다는 뜻이다. 책에서 소개한 예제 코드는 모두 출판사 웹사이트
...