안드로이드 단말기와 모바일 애플리케이션에 관한 기막힌 아이디어를 가지고 있는 누군가가 이 책을 가지고 재미를 보거나 이익을 얻지 말라는 법은 없다. 여러분이 모바일 기술을 파고들려고 하는 프로그래머든 멋진 앱 아이디어를 가지고 있는 기업가든 이 책은 여러분을 위한 것이다.
우리는 이 책을 읽는 독자에 대해 몇 가지 사항을 가정한다. 이 책의 독자는 기본적인 (클래스, 메서드, 상속 등과 같은) 자바 프로그래밍 언어에 대해 이해하고 있겠지만 안드로이드는 자바를 배우기 위한 멋진 터전을 만들어준다. 이 책에서는 지나치게 기교가 넘치거나 혼동되는 자바 용법은 사용하지 않으려고 노력했다. 때문에 프로그래밍을 처음 시작했더라도 아무 자바 입문서나 붙잡고 처음 몇 장(chapter)을 읽거나 온라인 자습서만 따라 해봐도 이 책을 읽는 데 필요한 자바 지식은 충분히 습득할 수 있을 것이다.
우리는 여러분이 애플리케이션(예를 들면, 이클립스, 자바 JDK, 안드로이드 SDK)을 비롯해서 도구와 드라이버(USB를 통해 전화기에 연결하기 위해)를 설치하는 데 어느 정도 익숙하고, 또 안드로이드 단말기에서 애플리케이션과 같은 것을 띄울 수 있을 만큼 단말기를 다룰 수 있다고 가정한다. 무선 개발 경험은 아무것도 필요하지 않다.
이 책의 구성
24개 장에 걸친 내용을 익히는 동안 여러분은 완전히 기능하고 네트워크 및 위치 기반 서비스(LBS, Location-Based Service)가 가능한 안드로이드 애플리케이션을 설계하고 개발할 것이며, 소셜 네트워크 기능으로 마무리할 것이다. 각 장의 내용은 새로 소개한 안드로이드의 개념에 기초를 두고 있으며, 각 장을 읽어 나가면서 애플리케이션을 점차 개선해 나갈 것이다.
이 책은 크게 6가지 부분으로 나뉜다.
ㆍ1부: 안드로이드 기초
1부에서는 안드로이드를 소개한 다음 안드로이드 SDK와 도구를 익히고 개발 도구를 설치한 후, 첫 안드로이드 애플리케이션을 작성한다. 또한 안드로이드 애플리케이션의 구조와 구성을 비롯해서 문자열, 그래픽, 사용자 인터페이스 컴포넌트와 같은 애플리케이션 리소스를 프로젝트에서 통합하는 방법과 안드로이드 애플리케이션을 작성하는 데 필요한 설계 원칙을 소개한다.
ㆍ2부: 애플리케이션 뼈대 제작
2부에서는 이 책의 나머지 부분에서 주요 학습 수단으로 쓸 애플리케이션의 뼈대를 개발한다. 먼저 애니메이션이 적용된 시작 화면을 개발하는 것으로 시작해서, 이어서 메뉴, 환경설정, 도움말, 점수 화면을 개발한다. 이 과정에서 기초적인 사용자 인터페이스 설계 원칙과 사용자 입력을 수집하는 방법, 사용자에게 대화상자를 보여주는 방법을 배운다. 마지막으로 게임 화면의 핵심적인 애플리케이션 로직을 구현할 것이다.
ㆍ3부: 강력한 안드로이드 기능을 활용한 애플리케이션 강화
3부에서는 안드로이드 SDK에 좀더 깊이 파고들어 가봤노라, 해봤노라! 애플리케이션에 좀더 특화된 기능을 추가한다. 여기서는 그래픽과 내장 카메라를 이용하고 LBS를 활용하는 방법을 비롯해서 애플리케이션에서 네트워크 기능을 지원하고 소셜 네트워크 기능을 통해 애플리케이션을 개선하는 방법을 배운다.
ㆍ4부: 안드로이드 애플리케이션 다듬기
4부에서는 다양한 단말기와 화면 크기, 외국어에 맞게 애플리케이션을 수정하는 방법을 배운다. 또한 4부에서는 모바일 애플리케이션을 테스트하는 각종 방법에 관해서도 배운다.
ㆍ5부: 애플리케이션 배포
5부에서는 안드로이드 애플리케이션을 안드로이드 마켓에 올리기 위해 준비해야 할 사항과 배포 방법에 관해 배운다.
ㆍ6부: 부록
6부에서는 안드로이드 개발 환경 구성과 이클립스 IDE 사용, 이 책의 웹사이트나 소스 코드와 같은 이 책의 보충 자료를 접하는 데 유용하게 활용할 수 있는 여러 참고 자료를 소개한다.
---서문중에서