OHA(Open Handset Alliance)와 Google이 주도하는 안드로이드는 현재 무선 세상에서 바람을 일으키고 있는, 멋지고 새로우며 자유로운 오픈소스 모바일 플랫폼이다. 이 책은 전문적인 안드로이드 응용프로그램의 설계, 개발, 검사, 디버깅, 배포에 대한 상세한 지침들을 소프트웨어 개발팀에게 제공한다. 경험 있는 모바일 개발자라면 개발 공정을 매끄럽게 하고 안드로이드의 독특한 기능들을 최대한 활용하는 데 도움이 될 요령과 조언들을 발견할 수 있을 것이다. 모바일 개발이 처음인 독자라면 전통적인 소프트웨어 개발에서 모바일 개발 분야로 매끄럽게 넘어가는 데, 특히 가장 유망한 새 모바일 플랫폼인 안드로이드 응용프로그램 개발로 진입하는 데 필요한 모든 것을 얻을 수 있다.
이 책의 대상
이 책에는 저자들이 모바일 업계에서 수년간 쌓아온 경험에 기초한, 성공적인 모바일 개발을 위한 조언들이 들어 있다. 이 책은 안드로이드 프로젝트를 개념에서 완성에 이르기까지 성공적으로 진행하는 데 필요한 모든 것을 다룬다. 모바일 소프트웨어 공정이 전통적인 소프트웨어 개발과 어떻게 다른지를, 그리고 귀중한 시간을 절약할 수 있는 요령들과 피해야 할 함정들을 알려준다. 소규모 프로젝트이든 대규모 프로젝트이든 이 책에서 많은 것을 얻을 수 있을 것이다.
이 책의 주된 대상 독자는 크게 다음 세 부류이다.
전문적인 안드로이드 응용프로그램을 개발하는 방법을 배우고자 하는 소프트웨어 개발자.
- 이 책의 상당 부분은 기본적으로 소프트웨어 개발자를 대상으로 한다. Java 프로그래밍 경험은 필수이지만, 모바일 개발 경험이 꼭 필요한 것은 아니다. 모바일 응용프로그램 개발에 경험이 있는 독자라면 안드로이드만의 특징이 무엇이고 기존의 모바일 개발 기술들과는 어떻게 다른지를 배울 수 있다.
안드로이드 응용프로그램을 검사하는 품질보증 기술자.
- 블랙박스 검사이든 화이트박스 검사이든, 품질보증(QA) 기술자 역시 이 책이 아주 귀중함을 알 수 있을 것이다. 이 책은 여러 장(chapter)들에서 모바일 QA에 관련된 주제들, 이를테면 견고한 검사 계획 수립, 모바일 응용프로그램을 위한 결함 추적 시스템, 단말기 관리 방법, 안드로이드 SDK가 제공하는 도구들로 응용프로그램을 상세하게 검사하는 방법 등을 다룬다.
안드로이드 개발 팀을 꾸리고 관리하는 프로젝트 관리자.
- 이 책은 안드로이드 프로젝트를 계획하고, 팀을 꾸리고, 시작에서 완성까지 프로젝트를 진행하는 데에도 도움이 된다. 이 책에서 프로젝트 위험 관리라던가 안드로이드 프로젝트의 매끄러운 진행 방법 등의 주제들도 발견할 수 있다.
기타.
- 이 책은 소프트웨어 개발자뿐만 아니라 멋진 전화기 응용프로그램을 고민하는 사업가, 그리고 새 전화기를 좀 더 재미있게 사용하고자 하는 취미가에게도 유용하다. 자신의 고유한 요구(타당성 분석 포함)를 위해 안드로이드 플랫폼을 평가하고자 하는 업체 역시 이 책에서 가치 있는 정보를 찾을 수 있을 것이다. 안드로이드 단말기와 괜찮은 모바일 응용프로그램 아이디어를 가진 사람이라면 누구라도 재미나 수익을 위해 이 책을 활용할 수 있다.
이 책이 답하는 주요 질문들
이 책은 다음과 같은 질문들에 답한다.
1. 안드로이드란 무엇인가?
2. 안드로이드가 다른 모바일 기술들과 어떻게 다르며, 개발자가 그런 차이점들을 어떻게 활용할 수 있는가?
3. 개발자가 Java용 Eclipse 개발 환경으로 안드로이드 응용프로그램을 개발하고 에뮬레이터나 단말기에서 디버깅하려면 어떻게 해야 하는가?
4. 안드로이드 응용프로그램은 어떤 구조인가?
5. 개발자가 모바일 응용프로그램에 맞는, 특히 안드로이드 응용프로그램에 맞는 견고한 사용자 인터페이스를 설계하려면?
6. 안드로이드 SDK는 무엇을 제공하며 개발자가 그것들을 어떻게 사용하는가?
7. 모바일 개발 공정이 전통적인 데스크톱 개발과 어떻게 다른가?
8. 안드로이드 개발에 가장 적합한 개발 전략은 무엇인가?
9. 모바일 응용프로그램의 계획, 개발, 검사에서 관리자와 개발자, 검사자가 주의해야 할 사항들은 무엇인가?
10. 발행을 목적으로 하는 튼튼한 안드로이드 응용프로그램을 설계하는 방법은?
11. 배포 및 설치를 위해 안드로이드 응용프로그램 패키지를 작성하는 방법은?
12. 안드로이드 응용프로그램으로 수익을 올리려면?
이 책의 구성
이 책은 총 일곱 개의 부(part)들로 구성된다. 1~5부에서는 기본적으로 개발자들을 위한 내용을 담고 있다. 6부와 7부에는 개발자는 물론 프로젝트 관리자와 품질보증 기술자에게 도움이 되는 정보가 많이 있다.
다음은 각 부의 소개이다.
제1부: 안드로이드의 개요
제1부에서는 안드로이드를 소개하고 안드로이드가 ?른 모바일 플랫폼들과 어떻게 다른지 설명한다. 또한 안드로이드 SDK와 도구들의 설치 방법 및 기본적인 사용법을 설명하며, 여러분 생애 최초의 안드로이드 응용프로그램을 작성하고 에뮬레이터와 단말기에서 실제로 실행해본다.
제2부: 안드로이드 응용프로그램 설계의 필수 요소
제2부에서는 안드로이드 응용프로그램을 작성하는 데 필요한 설계 원리들을 소개한다. 안드로이드 응용프로그램의 구조를 설명하며 문자열이나 그래픽, 사용자 인터페이스 구성요소 같은 자원들을 프로젝트에 포함시키는 방법도 이야기한다.
제3부: 안드로이드 사용자 인터페이스 설계의 필수 요소
제3부에서는 안드로이드 응용프로그램의 사용자 인터페이스 설계를 좀 더 자세히 살펴본다. 특히 안드로이드 사용자 인터페이스의 핵심 요소인 뷰를 설명한다. 또한 안드로이드 SDK가 제공하는 기본적인 그래픽 및 애니메이션 기능들도 이야기한다.
제4부: 주요 안드로이드 API 활용
제4부는 안드로이드 SDK에서 가장 중요한 API 몇 가지를 개별적인 장(chapter)에서 좀 더 자세히 살펴본다. 자료 및 저장소 API(파일과 데이터베이스 접근은 물론 콘텐트 제공자도 다룬다), 네트워킹, 전화통신, 위치기반 서비스(LBS), 멀티미디어, 3D 그래픽 API는 물론 추가적인 하드웨어 API들도 이야기한다.
제5부: 추가적인 안드로이드 응용프로그램 설계 요소
제5부에서는 알림과 서비스 등 좀 더 진보된 안드로이드 응용프로그램 구축 요소들을 이야기한다.
제6부: 안드로이드 응용프로그램의 제작과 배포
제6부에서는 모바일 소프트웨어 개발 공정을 시작부터 끝까지 개괄하며, 프로젝트 관리자와 소프트웨어 개발자, 품질보증 기술자를 위한 요령들과 조언들도 제공한다.
제7부: 부록
제7부는 안드로이드 개발 도구들(에뮬레이터, ADB, DDMS)에 빠르게 익숙해질 수 있도록 도움을 주는 부록들과 SQLite의 사용법을 알려주는 부록으로 구성된다.
--- '서문' 중에서