예제로 시작하는 안드로이드 개발
- 원서명Android Application Development: Programming with the Google SDK (ISBN 9780596521479)
- 지은이릭 로저스, 존 롬바도, 지거드 메드닉스, 블레이크 메이크
- 옮긴이안드로이드펍
- ISBN : 9788960770973
- 30,000원
- 2009년 09월 21일 펴냄 (절판)
- 페이퍼백 | 440쪽 | 185*235mm
- 시리즈 : 모바일 프로그래밍
판매처
- 현재 이 도서는 구매할 수 없습니다.
책 소개
많은 인기를 끌고 있는 오픈소스 휴대폰 애플리케이션 개발 플랫폼인 안드로이드 개발환경을 이용해 애플리케이션을 개발할 때 알아야 하는 개념을 깊이 있게 설명하고 관련 코드를 제공한다. 운영체제와 SDK 등 개발환경 소개뿐 아니라 실행 가능한 예제 코드를 통해 안드로이드의 기능과 API 사용법을 자세히 배운다. 기초는 물론 휴대폰에 탑재할 상용 애플리케이션 개발에 필요한 애플리케이션 디자인, 빌드, 테스트 등 중고급 과정까지 모두 다룸으로써, 안드로이드 문서만으로는 부족함을 느꼈던 개발자들에게 도움이 되는 생생한 자료를 가득 담았다.
[ 소개 ]
“이렇게 잘 쓴 책을 읽어본 게 얼마만인지 모르겠다. 이 책의 가장 두드러지는 특징은 세부 사항까지도 세심하고 주의 깊게 설명했다는 점이다.”
구글이 안드로이드 개발을 발표했을 때, 모바일 플랫폼 영역은 이미 잘 구축돼 있었다. 오픈 소스 플랫폼의 다양한 전문 분야에서 쓸 만한 대안이 수없이 제시되고 있는 상황이었다. 하지만 안드로이드는 기술적 관심 사항이 폭넓게 확장되도록 자극했을 뿐만 아니라, 개인용 장치의 세계를 완전히 변하게 할 잠재력에 대한 무성한 추측을 불러일으켰다. 안드로이드 기기는 단순히 전화 걸기, 이메일, 음식점 찾기 등의 익숙한 편의 기능만을 제공하는 것이 아니라 전 세계로 열린 창구가 될 수 있다. 간단히 말해서 사용자와 개발자가 만들고자 하는 무엇이든 될 수 있다.
설득력 있는 분석과 호언장담이 어느 정도로 실현가능한지에 대한 논의는 이 책에서 논외로 둔다. 이 책은 안드로이드 프로그래밍 환경을 배우고, 차별화된 제품을 만들기 위해 알아야 할 것을 익히려는 사람을 위한 책이다. 책을 쓰면서 여러 번 나온 배포본의 소스코드를 분석하고 라이브러리와 개발킷의 기능을 시험해 보느라 힘겨운 시간을 보냈다. 진정한 안드로이드를 드러내려고 노력했으며, 온라인이나 인쇄물에서 찾을 수 있는 문서 이상을 보여주려고 노력했다.
자바 프로그래머가 이 책을 꼼꼼히 읽는다면 누구나 유용하고 결함 없는 안드로이드 애플리케이션을 만들 수 있다. 일부 내용은 안드로이드가 어떤 식으로 기능을 구현하는지 내부 내용까지 다룬다. 원한다면 안드로이드 오픈 소스를 살펴볼 수도 있다.
[ 이 책에서 다루는 내용 ]
▶ 최신 휴대폰의 핵심 기능을 활용하는 안드로이드 애플리케이션 제작
▶ 안드로이드 사용자 인터페이스를 이용한 완전한 모듈식 프로그램 제작
▶ 뷰, 지도, 위치기반 서비스, 지속적인 데이터 저장, 전화 기능, 프로세스 간 통신 기능 등의 아키텍처와 개념 설명
▶ 실행 가능한 예제 코드를 적용한 세부 기능 구현
▶ 2D와 3D 그래픽, 디버깅, 성능 분석 등 고급 기술
[ 이 책의 대상 독자 ]
이 책은 안드로이드 모바일 환경에서 애플리케이션을 개발하려는 숙련된 소프트웨어 개발자를 대상으로 한다. 자바 프로그래밍 언어에 익숙하고, 자바로 사용자 인터페이스를 개발했으며, 적어도 안드로이드에서 사용하는 XML, SQL, GTalk(XMPP), OpenGL-ES, HTTP 등의 기술에 익숙하다고 가정한다.
[ 이 책의 구성 ]
2장에서 소개하는 예제 프로그램을 중심으로 구성돼 있다. 2장 이후에서는 가능하다면 이 예제에 모듈화된 확장 기능을 구현해 추가하는 방식으로 개발 기술을 설명한다. 몇 개 장과 부록은 좀 더 고급 주제를 다룬다. 그러나 보통은 그런 기능이 반드시 필요하지는 않다.
1부. 구글 SDK 따라하기: 애플리케이션을 만들 때 필요한 기초 내용을 배운다.
1장. 안드로이드 개요: 시장에서 안드로이드의 위치를 설명하고, 기본 구조를 배운다.
2장. 안드로이드 개발환경 구축: 이클립스, 안드로이드 플러그인 등 개발에 필요한 소프트웨어를 다운로드하고 프로그래밍을 시작한다.
3장. 안드로이드 개발환경을 이용한 실제 애플리케이션 개발: 일반적인 안드로이드 프로그램을 구성하는 파일에 대해 설명한다.
4장. MJAndroid 애플리케이션의 시작 코드와 리소스: 모든 애플리케이션에 필수인 자바 코드와 XML 리소스를 살펴 본다.
5장. 애플리케이션 디버깅: 이클립스, 로그, 안드로이드 디버그 브릿지adb, DDMS, 트레이스뷰 등의 디버깅 도구를 소개한다.
6장. ApiDemos 애플리케이션: 툴킷에 들어 있는 안드로이드 샘플 코드를 살펴보고, 직접 소스코드를 찾는 방법을 배운다.
7장. 애플리케이션 서명과 배포: 애플리케이션을 공개하기 전에 준비하는 작업을 알아 본다.
2부. 안드로이드 프로그래밍: 중요한 라이브러리를 자세히 살펴보고, 효과적으로 사용하는 방법을 알아 본다.
8장. 영속적인 데이터 저장소: SQLite 데이터베이스와 컨텐트 프로바이더: 안드로이드에서 데이터를 저장하고 제공하는 두 가지 효과적인 방법을 배운다.
9장. 위치 정보와 지도 서비스: 사용자의 위치를 확인하고 표시하는 방법을 배우고, 구글 맵을 사용하는 방법을 알아 본다.
10장. 뷰 생성: 윈도우와 뷰를 만들고 조종하는 방법을 설명해, 안드로이드 그래픽 프로그래밍을 소개한다.
11장. 위젯: 안드로이드가 제공하는 그래픽 인터페이스 구성 요소를 다룬다.
12장. 2D, 3D 그래픽: 그래픽을 배치하는 방법을 살펴보고, 그리기, 변환, 애니메이션을 자세히 배운다.
13장. 프로세스 간 통신: 인텐트와 리모트 메소드를 써서 다른 애플리케이션의 기능에 접근한다.
14장. 간단한 전화 걸기: 애플리케이션에서 전화를 거는 방법과, 안드로이드가 이 요청을 처리하는 방식을 설명한다.
15장. 텔레포니 상태 정보와 안드로이드 텔레포니 클래스: 텔레포니 서비스와 전화 걸기 상태 정보를 알아내는 방법을 배우고 텔레포니 인터널을 살펴본다.
부록. 무선 프로토콜: 무선 통신 서비스의 배경과 역사를 알아본다.
[ 소개 ]
“이렇게 잘 쓴 책을 읽어본 게 얼마만인지 모르겠다. 이 책의 가장 두드러지는 특징은 세부 사항까지도 세심하고 주의 깊게 설명했다는 점이다.”
- 하이셀 테일러 / 벤처기업 전문가 J2EE 아키텍트 컨설턴트
구글이 안드로이드 개발을 발표했을 때, 모바일 플랫폼 영역은 이미 잘 구축돼 있었다. 오픈 소스 플랫폼의 다양한 전문 분야에서 쓸 만한 대안이 수없이 제시되고 있는 상황이었다. 하지만 안드로이드는 기술적 관심 사항이 폭넓게 확장되도록 자극했을 뿐만 아니라, 개인용 장치의 세계를 완전히 변하게 할 잠재력에 대한 무성한 추측을 불러일으켰다. 안드로이드 기기는 단순히 전화 걸기, 이메일, 음식점 찾기 등의 익숙한 편의 기능만을 제공하는 것이 아니라 전 세계로 열린 창구가 될 수 있다. 간단히 말해서 사용자와 개발자가 만들고자 하는 무엇이든 될 수 있다.
설득력 있는 분석과 호언장담이 어느 정도로 실현가능한지에 대한 논의는 이 책에서 논외로 둔다. 이 책은 안드로이드 프로그래밍 환경을 배우고, 차별화된 제품을 만들기 위해 알아야 할 것을 익히려는 사람을 위한 책이다. 책을 쓰면서 여러 번 나온 배포본의 소스코드를 분석하고 라이브러리와 개발킷의 기능을 시험해 보느라 힘겨운 시간을 보냈다. 진정한 안드로이드를 드러내려고 노력했으며, 온라인이나 인쇄물에서 찾을 수 있는 문서 이상을 보여주려고 노력했다.
자바 프로그래머가 이 책을 꼼꼼히 읽는다면 누구나 유용하고 결함 없는 안드로이드 애플리케이션을 만들 수 있다. 일부 내용은 안드로이드가 어떤 식으로 기능을 구현하는지 내부 내용까지 다룬다. 원한다면 안드로이드 오픈 소스를 살펴볼 수도 있다.
[ 이 책에서 다루는 내용 ]
▶ 최신 휴대폰의 핵심 기능을 활용하는 안드로이드 애플리케이션 제작
▶ 안드로이드 사용자 인터페이스를 이용한 완전한 모듈식 프로그램 제작
▶ 뷰, 지도, 위치기반 서비스, 지속적인 데이터 저장, 전화 기능, 프로세스 간 통신 기능 등의 아키텍처와 개념 설명
▶ 실행 가능한 예제 코드를 적용한 세부 기능 구현
▶ 2D와 3D 그래픽, 디버깅, 성능 분석 등 고급 기술
[ 이 책의 대상 독자 ]
이 책은 안드로이드 모바일 환경에서 애플리케이션을 개발하려는 숙련된 소프트웨어 개발자를 대상으로 한다. 자바 프로그래밍 언어에 익숙하고, 자바로 사용자 인터페이스를 개발했으며, 적어도 안드로이드에서 사용하는 XML, SQL, GTalk(XMPP), OpenGL-ES, HTTP 등의 기술에 익숙하다고 가정한다.
[ 이 책의 구성 ]
2장에서 소개하는 예제 프로그램을 중심으로 구성돼 있다. 2장 이후에서는 가능하다면 이 예제에 모듈화된 확장 기능을 구현해 추가하는 방식으로 개발 기술을 설명한다. 몇 개 장과 부록은 좀 더 고급 주제를 다룬다. 그러나 보통은 그런 기능이 반드시 필요하지는 않다.
1부. 구글 SDK 따라하기: 애플리케이션을 만들 때 필요한 기초 내용을 배운다.
1장. 안드로이드 개요: 시장에서 안드로이드의 위치를 설명하고, 기본 구조를 배운다.
2장. 안드로이드 개발환경 구축: 이클립스, 안드로이드 플러그인 등 개발에 필요한 소프트웨어를 다운로드하고 프로그래밍을 시작한다.
3장. 안드로이드 개발환경을 이용한 실제 애플리케이션 개발: 일반적인 안드로이드 프로그램을 구성하는 파일에 대해 설명한다.
4장. MJAndroid 애플리케이션의 시작 코드와 리소스: 모든 애플리케이션에 필수인 자바 코드와 XML 리소스를 살펴 본다.
5장. 애플리케이션 디버깅: 이클립스, 로그, 안드로이드 디버그 브릿지adb, DDMS, 트레이스뷰 등의 디버깅 도구를 소개한다.
6장. ApiDemos 애플리케이션: 툴킷에 들어 있는 안드로이드 샘플 코드를 살펴보고, 직접 소스코드를 찾는 방법을 배운다.
7장. 애플리케이션 서명과 배포: 애플리케이션을 공개하기 전에 준비하는 작업을 알아 본다.
2부. 안드로이드 프로그래밍: 중요한 라이브러리를 자세히 살펴보고, 효과적으로 사용하는 방법을 알아 본다.
8장. 영속적인 데이터 저장소: SQLite 데이터베이스와 컨텐트 프로바이더: 안드로이드에서 데이터를 저장하고 제공하는 두 가지 효과적인 방법을 배운다.
9장. 위치 정보와 지도 서비스: 사용자의 위치를 확인하고 표시하는 방법을 배우고, 구글 맵을 사용하는 방법을 알아 본다.
10장. 뷰 생성: 윈도우와 뷰를 만들고 조종하는 방법을 설명해, 안드로이드 그래픽 프로그래밍을 소개한다.
11장. 위젯: 안드로이드가 제공하는 그래픽 인터페이스 구성 요소를 다룬다.
12장. 2D, 3D 그래픽: 그래픽을 배치하는 방법을 살펴보고, 그리기, 변환, 애니메이션을 자세히 배운다.
13장. 프로세스 간 통신: 인텐트와 리모트 메소드를 써서 다른 애플리케이션의 기능에 접근한다.
14장. 간단한 전화 걸기: 애플리케이션에서 전화를 거는 방법과, 안드로이드가 이 요청을 처리하는 방식을 설명한다.
15장. 텔레포니 상태 정보와 안드로이드 텔레포니 클래스: 텔레포니 서비스와 전화 걸기 상태 정보를 알아내는 방법을 배우고 텔레포니 인터널을 살펴본다.
부록. 무선 프로토콜: 무선 통신 서비스의 배경과 역사를 알아본다.
목차
목차
- 1부 구글 SDK 따라하기
- 1장 안드로이드 소개
- 왜 안드로이드인가?
- 오픈 핸드셋 얼라이언스
- 안드로이드 실행 환경
- 안드로이드 애플리케이션 구성요소
- 안드로이드 액티비티 생명주기
- 안드로이드 서비스 생명주기
- 이 책의 구성
- 2장 안드로이드 개발환경 구축
- 개발환경 구축
- 안드로이드 개발환경 구축의 첫 단계
- 헬로, 안드로이드
- 첫 프로그램
- 새 애플리케이션 만들기: HelloWorld
- HelloWorld 소스코드 작성
- HelloWorld 실행하기
- 개발환경 구축
- 3장 안드로이드 개발환경을 이용한 실제 애플리케이션 개발
- 주요 예제 MicroJobs 애플리케이션
- 안드로이드와 소셜 네트워킹
- MJAndroid 코드 다운받기
- MJAndroid 소스코드 개요
- 프로젝트 최상위 폴더(MJAndroid)
- 소스코드 폴더(src)
- 리소스 폴더(res)
- 첫 순서: MicroJobs 애플리케이션 빌드와 실행
- 안드로이드 SDK/이클립스 간단히 살펴보기
- 애플리케이션 로딩과 실행
- 유의해야 할 점
- T모바일 휴대폰에서 애플리케이션 실행
- 요약
- 4장 MJAndroid 애플리케이션의 시작 코드와 리소스
- AndroidManifest.xml에 나오는 초기화 파라미터
- MicroJobs.java로 본 초기화 과정
- MicroJobs.java에 나온 나머지 초기화 과정
- 요약
- 5장 애플리케이션 디버깅
- 툴
- 이클립스 자바 편집기
- 자바 오류
- 디버거
- 로그캣
- 안드로이드 디버그 브릿지
- 달빅 디버그 모니터 서비스: DDMS
- 트레이스뷰
- 요약
- 6장 ApiDemos 애플리케이션
- 매니페스트 파일에서 애플리케이션 설정
- 예제의 소스코드 찾기
- Custom Title 데모
- Linkify 데모
- 직접 만든 예제를 ApiDemos에 추가
- 7장 애플리케이션 서명과 배포
- 애플리케이션 테스트
- 최종 사용자 사용권 계약 추가
- 아이콘과 레이블 만들고 붙이기
- 정리하고 배포 버전 만들기
- 애플리케이션에 버전 기록
- 서명 인증서와 API 키 획득
- 배포할 애플리케이션용 서명 인증서 만들기
- 디버그 서명 인증서 쓰기
- 애플리케이션 서명
- 애플리케이션 다시 테스트
- 안드로이드 마켓에 발행
- 안드로이드 개발자 등록
- 애플리케이션 업로드
- 2부 안드로이드 프로그래밍
- 8장 영속적인 데이터 저장소: SQLite 데이터베이스와 컨텐트 프로바이더
- 데이터베이스
- MicroJobsDatabase 클래스 기본 구조
- 데이터베이스에서 데이터 읽기
- 데이터베이스 변경
- 컨텐트 프로바이더
- NotePad 소개
- 컨텐트 프로바이더
- 컨텐트 프로바이더 사용
- 데이터베이스
- 9장 위치 정보와 지도 서비스
- 위치 기반 서비스
- 지도
- 구글 지도 액티비티
- MapView와 MapActivity
- MapView로 작업하기
- MapView와 MyLocationOverlay 초기화
- MapActivity의 중지와 재시작
- 메뉴 버튼으로 지도 컨트롤하기
- 키패드로 지도 컨트롤하기
- 지도 없이 위치정보 사용하기
- Manifest와 Layout 파일
- 위치 제공자와 연결해 받는 위치 업데이트
- 에뮬레이트된 위치의 업데이트
- 10장 뷰 생성
- 안드로이드 GUI 구조
- 모델
- 뷰
- 컨트롤러
- 기능 통합
- 그래픽 인터페이스 조합
- 컨트롤러 연결
- 모델 리스닝
- 터치 이벤트를 위한 리스닝
- 키 이벤트를 위한 리스닝
- 기타 이벤트 처리 방법
- 고급 연결: 포커스와 스레딩
- 메뉴
- 안드로이드 GUI 구조
- 11장 위젯
- 안드로이드 뷰
- TextView와 EditText
- Button과 ImageButton
- Adapter와 AdapterView
- CheckBox와 RadioButton과 Spinner
- ViewGroup
- Gallery와 GridView
- ListView와 ListActivity
- ScrollView
- TabHost
- 레이아웃
- 프레임 레이아웃
- LinearLayout
- TableLayout
- AbsoluteLayout
- RelativeLayout
- 안드로이드 뷰
- 12장 2D, 3D 그래픽
- 자신만의 위젯 만들기
- 레이아웃
- 캔버스 그리기
- 드로어블
- 비트맵
- 블링
- 그림자, 그래디언트, 필터
- 애니메이션
- OpenGL 그래픽
- 자신만의 위젯 만들기
- 13장 프로세스 간 통신
- 인텐트: 간단하고 오버헤드가 적은 IPC
- 프로세스 간 통신에 사용되는 인텐트 객체
- 액티비티 객체와 계층적 UI
- 예제: ‘Hello World’를 어떻게 할지 고르는 인텐트
- 프로세스 간 통신으로 결과 가져오기
- 리모트 메소드와 AIDL
- 안드로이드 인터페이스 정의언어
- AIDL로 만든 인터페이스에 내재된 클래스
- 인터페이스 발행
- 자바 네이티브 인터페이스와 안드로이드 IPC의 비교
- 바인더가 하지 않는 일
- 바인더와 리눅스
- 인텐트: 간단하고 오버헤드가 적은 IPC
- 14장 간단한 전화 걸기
- 빠르고 쉬운 전화 걸기
- call 메소드를 실행하는 예제 애플리케이션 만들기
- 애플리케이션에 코드 조각 끼워 넣기
- 디버거를 이용한 전화코드 탐색
- Intent 인스턴스 만들기
- Intent 인스턴스에 데이터 추가하기
- 전화 걸기
- 예외처리
- 안드로이드 애플리케이션 수준 모듈화와 텔레포니
- 빠르고 쉬운 전화 걸기
- 15장 텔레포니 상태정보와 안드로이드 텔레포니 클래스
- android.telephony 패키지에서 제공하는 기능
- 패키지 요약
- 애플리케이션에서 전화 작업을 할 때 제약 사항
- 예제: 전화 걸기 상태 확인하기
- 안드로이드 텔레포니 인터널
- 프로세스 간 통신과 com.android.internal.telephony 패키지의 AIDL
- android.internal.telephony 패키지
- android.internal.telephony.gsm 패키지
- 안드로이드 텔레포니 인터널 살펴보기
- 안드로이드와 VoIP
- android.telephony 패키지에서 제공하는 기능
관련 블로그 글
예제로 "쉽게" 시작하는 안드로이드 애플리케이션 개발
『예제로 시작하는 안드로이드 개발』
릭 로저스, 존 룸바도, 지거드 메드닉스, 블레이크 메이크 지음
안드로이드펍 (www.anrdroidpub.com) 옮김 | 모바일 프로그래밍 시리즈 4
2009년 9월 21일 출간예정 | 440쪽 | 30,000원
릭 로저스, 존 룸바도, 지거드 메드닉스, 블레이크 메이크 지음
안드로이드펍 (www.anrdroidpub.com) 옮김 | 모바일 프로그래밍 시리즈 4
2009년 9월 21일 출간예정 | 440쪽 | 30,000원
그리하여 드디어 에이콘에서도 안드로이드 개발서가 나옵니다. 윈도우 모바일 애플리케이션 가이드부터 시작해 예제로 시작하는 아이폰 개발에 이어 아이폰 코어 애니메이션까지 확장했다가 이제 예제로 시작하는 안드로이드 개발이라니 이 책의 성격을 간파하실 수 있으리라 생각합니다.
그렇다면 몇 권의 안드로이드 책이 독자들께 선을 보인 지금 이 책의 장점이나 특징은 무엇인지 살펴볼까요?
[ 이 책에서 다루는 내용 ]
▶ 최신 휴대폰의 핵심 기능을 활용하는 안드로이드 애플리케이션 제작
▶ 안드로이드 사용자 인터페이스를 이용한 완전한 모듈식 프로그램 제작
▶ 뷰, 지도, 위치기반 서비스, 지속적인 데이터 저장, 전화 기능, 프로세스 간 통신 기능 등의 아키텍처와 개념 설명
▶ 실행 가능한 예제 코드를 적용한 세부 기능 구현
▶ 2D와 3D 그래픽, 디버깅, 성능 분석 등 고급 기술
이 책의 원서는 지난 5월 말에 출간된 따끈따근한 신간입니다. 역자분들이 열심히 번역해주셔서 원서가 나온 지 근 3개월 여만에 번역서를 독자 여러분께 선보일 수 있게 됐습니다. 제목을 보시면 아시다시피 이 책은 초급자가 차근차근 따라해볼 수 있는 예제 위주의 안드로이드 애플리케이션 개발서입니다. (설마 제목을 보시고 안드로이드를 타겟으로 직접 개발하는 책?이라고 느끼신 분은 없으시길 바랍니다 ^^)
이 책은 여타 책과 마찬가지로 자발 개발자라면 쭉 읽어보기만 해도 안드로이드 개발에 대해 감을 잡을 수 있도록 쉽게 설명해놓았습니다. 게다가 예제로 설명하면서, 책에 나오는 새로운 개념이 나올 때면 아주 쉽게 그 개념을 짚고 넘어갑니다. 모델-뷰-컨트롤러 MVC 모델을 설명할 때도 폰에서의 mp3 플레이어 기능을 예로 들어 각각을 리스트에 든 코드와 화면, 외부 동작에 반응하는 부분 등으로 나눠 알기 쉽게 설명합니다.
"이렇게 쉽고 자세히 이야기할 필요까지?"라고 느낄 만큼 짧고 명료하게 대신 이해하기 쉽도록 설명하는 초중반부는 막 안드로이드 개발에 입문하려는 개발자들에게 큰 도움이 되어드릴 것입니다.
그리고 간단한 애플리케이션 디버깅, 그리고 서명과 배포를 통해 안드로이드 애플리케이션을 공개하는 방법까지 개발자가 현실적으로 꼭 알아두면 좋을 내용까지 알려주죠. 그리고 중반부에 들어서면, 안드로이드 폰에서 꼭 필요하고 실제로 많이 쓰이는 기능을 활용해 간단한 예제를 만들어보면서 기법을 익힙니다.
그러고는 위치 정보와 지도 서비스 설명으로 넘어갑니다. 이는 여러분도 잘 알고 계시다시피, 위피의 고비도 무사히 넘은 지금, 아이폰 도입에 최대 걸림돌로 최근 급부상한 항목이죠. 어떻게 해결될지 모르겠지만 안드로이드 폰에서도 동일하게 적용될 법망이 어떻게 해결될지 모르겠습니다. 모쪼록 아이폰이든 초콜렛폰이든 안드로이드폰이든 외국에서는 누구나 사용하도록 잘 만들어주신 기능을 부디 국내에서도 아무 제약없이 동등하게 사용할 날이 곧 오게 되길 저희도 간절히 바랍니다.
다시 책 이야기로 돌아와, 안드로이드 GUI 구조를 자세히 설명하고 MVC 기능통합 예제도 만들어보고, 2D/3D 그래픽 기능을 직접 설명함으로써 자신만의 위젯을 만들어 봅니다. 폰의 가장 궁극적인 기능이라 할 수 있는 전화걸기와 관련한 다양한 프로그래밍을 살펴보는 건 물론 기본이구요.
단순한 Hello World 프로그램으로부터 디버거 사용법, 구글맵, 전화 걸기 기능에 이르기까지 다양한 주제를 다루므로, 안드로이드 개발을 처음 시작하는 사람이 쉽게 안드로이드 전체 구성을 어림잡아 볼 수 있을 것입니다.
...
안드로이드를 어느 정도 알고 있는 분들에게는 더 깊이 알 수 있는 기회가 될 것이고, 처음 안드로이드를 접하시는 분이라도 두려워하지 않고 기본 예제를 중심으로 하나하나 따라가면서 책을 읽다 보면 어느 새 많은 부분이 이해가 되고 나도 새로운 애플리케이션을 만들 수 있겠다라는 자신감이 붙을 것입니다.
- 옮긴이의 말 중에서
안드로이드 운영체제가 많은 이의 관심을 불러일으키는 것은 단지 휴대전화뿐만 아니라 넷북, 셋탑박스 등에 탑재될 예정이기 때문이라죠. 자바 개발자라면 누구나 쉽게 배울 수 있고 윈도우 기반도 가능하고 여러 플랫폼에서 구현될 예정이라고 하니 진입 장벽이 더욱 낮은 게 아닌가 싶습니다. 그러니 뜻하신 바가 있다면, 바로 지금 도전해 볼 만한 가치가 있는 일이지 않을까요? ^^
이 책은 그야말로 안드로이드의 드림팀이 저술하고 번역했다고 해도 과언이 아닐 겝니다. 물론 저자진들도 그 분야에서는 내로라하는 분들이겠지만, 우리 역자들이야말로 안드로이드 보급에 앞장서고 있는 진정한 드림팀이시죠.
온라인에서 "회색"이라는 필명으로 활동하시는 박성서님은 2008년 구글의 안드로이드 개발자 챌린지에 참가해 한국인으로 유일하게 입상을 하신 안드로이드 전문가십니다. 후일담으로는 만드신 애플리케이션이 더욱 높은 결과를 올릴 수 있었는데, 결선을 앞두고 만든 애플리케이션의 기능이 구글 안드로이드 폰에서 빠지면서 가산점을 놓치게 됐다고 하죠. 올 봄 우리 모바일 시리즈 에디터이신 드리밍 김동현님의 추천으로 무작정 찾아가 번역을 부탁드리고 만나뵈었었는데요. 박성서님이 대학 동창 친구들이신 김종률님, 박정욱님, 배진혁님과 함께 번역을 해주셔서 첫 책임에도 불구하고 아주 빠른 시간에 훌륭히 번역을 해주셨습니다.
이 네 분이 참여하여 이끌어가는 안드로이드 커뮤니티 안드로이드펍(androidpub.com )입니다. 첫 페이지만봐도 정말 다들 열심이시라는 생각이 팍팍 들어요. 모두 한번 찾아가보셔서 많은 정보 얻어가시길 바랍니다. 이 분들의 활약으로 국내 안드로이드 개발이 더욱 활성화되리라 믿어 마지 않습니다.
특히 김종률님은 미국에서 학업 중에 잠시 짬을 내어 우리나라를 찾은 동안 번역을 해주셨는데 못 뵈어서 참 아쉬웠습니다. 이 자리를 빌려 감사 말씀 드리구요. 나머지 세 분은 책 나오면 제가 곧 다시 인사 올리겠습니다. ^^ 고생하셨어요. 좋은 역자분들을 모셔서 좋은 책 펴낼 수 있어서 저희도 기뻤습니다. 감사합니다.
마지막으로 한 가지 더, 표지를 보면 대번에 알아차리셨겠지만, 드디어 에이콘에서도 동물 표지를 볼 수 있게 됐죠. 바로 그 유명한 오라일리(O'reilly) 출판사 책을 펴내게 됐습니다. 앞으로 많은 책을 만나실 수 있을 거예요. 워낙 우리나라의 좋은 출판사들께서 훌륭한 번역서를 많이 내주신 오라일리 책인지라 적잖이 부담되기도 합니다만, 저희도 잘 할 수 있을 거예요. 그쵸?
에이콘에서 만나는 오라일리 책은 또다른 맛이 있을 테니 많이 기대해주세요. 자, 안드로이드 책과 오라일리 책, 모바일 시리즈 책은 곧 또 여러분을 찾아갑니다. 지갑에 총알 장전 가득 해주세요. ^^
『예제로 시작하는 안드로이드 개발』은 YES24, 교보문고, 강컴, 인터파크, 알라딘에서 예약판매중입니다.
크리에이티브 커먼즈 라이센스 이 저작물은 크리에이티브 커먼즈 코리아 저작자표시 2.0 대한민국 라이센스에 따라 이용하실 수 있습니다.
도서 오류 신고
정오표
1, 2쇄 오류/오탈자
[ p277 8-9행 중복 ]
txt1 = (TextView) findViewById(R.id.txtDemo);
txt1 = (TextView) findViewById(R.id.txtDemo);
→ txt1 = (TextView) findViewById(R.id.txtDemo);
[ p277 8-9행 중복 ]
txt1 = (TextView) findViewById(R.id.txtDemo);
txt1 = (TextView) findViewById(R.id.txtDemo);
→ txt1 = (TextView) findViewById(R.id.txtDemo);