이미 소장하고 있다면 판매해 보세요.
|
서문
안드로이드를 특별하게 만드는 것 이 책을 읽어야 할 사람들 이 책의 내용 컵케익에서 새로운 것은 무엇인가? 도너츠에 새로운 것은 무엇인가? 에클레어에서 새로운 것은 무엇인가? 에클레어 MR1에서 새로운 것은 무엇인가? 온라인 자료 빨리 넘겨보기 1부 안드로이드 소개하기 1 시작하기 1.1 도구 설치하기 1.2 프로그램 처음으로 만들기 1.3 에뮬레이터에서 실행하기 1.4 실제 폰에서 실행하기 1.5 빨리 넘겨보기 2 주요 개념 2.1 전체적인 윤곽 잡기 2.2 살아 있네! 2.3 구성 요소 2.4 자료 이용하기 2.5 안전과 보안 2.6 빨리 넘겨보기 II부 안드로이드의 기본 3 사용자 인터페이스 디자인하기 3.1 스도쿠 예제 소개 3.2 선언하여 디자인하기 3.3 시작 화면 만들기 3.4 대체 리소스 사용하기 3.5 어바웃 박스(About box) 구현하기 3.6 테마 적용하기 3.7 메뉴 추가하기 3.8 설정 추가하기 3.9 새 게임 시작하기 3.10 로그 메세지로 디버그하기 3.11 게임 끝내기 3.12 빨리 넘겨보기 4 2D(2차원) 그래픽 알아보기 4.1 기본 배우기 4.2 스도쿠에 그래픽 추가하기 4.3 입력 처리하기 4.4 나머지 이야기 4.5 개선하기 4.6 빨리 넘겨보기 5 멀티미디어 5.1 오디오 재생하기 5.2 비디오 (동영상) 재생하기 5.3 스도쿠에 음향 효과 넣기 5.4 빨리 넘겨보기 6로컬 데이터 저장하기 6.1 스도쿠에 옵션 추가하기 6.2 이전 게임 계속하기 6.3 현재의 위치 기억하기 6.4 내부 파일시스템 액세스하기 6.5 SD 카드 액세스하기 6.6 빨리 넘겨보기 III부 기본 넘어서기 7 연결된 세계 7.1목적을 가지고 브라우징하기 7.2 뷰가 있는 웹 7.3 자바스크립트에서 자바로, 자바에서 자바스크립트로 7.4 웹 서비스 사용하기 7.5 빨리 넘겨보기 8 위치 파악하기와 감지하기 8.1 위치, 위치, 위치 8.2 센서를 최대로 설정하기 8.3 조감도 8.4 빨리 넘겨보기 9 SQL 활용하기 9.1 SQLite 소개하기 9.2 SQL 개론 9.3 헬로, 데이터베이스 9.4 데이터 바인딩하기 9.5 콘텐츠 제공자 사용하기 9.6 콘텐츠 제공자 구현하기 9.7 빨리 넘겨보기 10 오픈GL(OpenGL)에서의 3D 그래픽 10.1 3D 그래픽 이해하기 10.2 오픈GL 소개하기 10.3 오픈GL 프로그램 만들기 10.4 스레드 관리하기 10.5 모형 만들기 10.6 라이트, 카메라 10.7 액션! 10.8 텍스쳐 더하기 10.9 훔쳐 보기 10.10 유연성 측정하기 10.11 빨리 넘겨보기 IV부 부록 A 자바 대 안드로이드 언어와 API A.1 언어의 하위 집합 A.2 표준 라이브러리 하위 집합 A.3 타사의 라이브러리 B. 안녕 위젯 B.1 위젯 만들어 보기 B.2 모든 위젯 호출하기 B.3 늘려 맞추기 B.4 나머지 이야기 B.5 위젯 실행하기 B.6 최신 정보 B.7 모험하기 C. 안드로이드 마켓에 올리기 C.1 준비하기 C.2 서명하기 C.4 출시하기 C.4 업데이트하기 C.5 줄이는 말 |
|
안드로이드는 왜 특별한가?
리눅스와 오픈 소스 기반의 진정한 의미의 개방적 무료 개발 플랫폼 휴대폰 제조사들은 로열티를 지불하지 않고 플랫폼을 이용할 수 있으며 자유롭게 커스터마이징할 수 있다는 이유로 안드로이드를 좋아하며, 개발자들은 파산하거나 인수될지 모를 특정 공급업체에 발이 묶여 있지 않고 유동성이 있어 좋아한다. 인터넷 매시업에 영감받은 구성 요소 기반의 아키텍처 응용프로그램의 한 부분은 다른 곳에 개발자들이 미처 생각하지도 못했던 방식으로 쓰일 수 있다. 기본적으로 제공되는 내장 구성요소를 자신만의 버전으로 대체할 수 있다. 이것은 모바일 공간에서 창조의 새로운 장을 열어 줄 것이다. 격이 다른 수많은 기본 제공 서비스 위치 기반 서비스는 여러분이 위치에 따라, GPS 또는 휴대전화 기지국을 이용하며 사용자가 자신의 경험을 직접 정의하게 해 준다. SQL 데이터베이스는 최대 전원으로 가동되는데, 지속적이지 않은 인터넷 연결성과 동기화에 개별 로컬 저장소의 이점을 이용한다. 브라우저와 지도 보기가 응용프로그램에 직접 임베딩될 수 있다. 이와 같이 다양한 내장 기능은 성능의 기준은 높이며 개발비용은 낮춰 준다. 응용프로그램 수명주기의 자동 관리 프로그램은 여러 보안층으로 서로 격리되어, 스마트폰에서는 여태껏 볼 수 없던 수준의 시스템 안정성을 제공한다. 어떤 응용프로그램이 활성화되어 있으며 다른 프로그램을 실행시키기 위해 무엇을 종료시켜야 하는지 등을 더 이상 걱정하지 않아도 된다. 안드로이드는 낮은 전력과 낮은 메모리 장치에 최적화되어 있는데, 이전 어느 플랫폼도 시도해보지 못한 수준이다. 고품질의 그래픽과 음향 플래시에 영감 받은 부드럽고 앤티엘리어싱된 2D 벡터 그래픽과 애니메이션은 3D로 가속된 OpenGL 그래픽과 합쳐져 신종의 게임과 비즈니스 응용프로그램들을 창조해내고 있다. 오디오와 비디오의 가장 흔한 산업 표준인 H.264(AVC), MP3, AAC 등의 형식을 위한 코덱이 내장되어 있다. 현재와 미래의 광범위한 하드웨어를 넘나드는 휴대성 모든 프로그램은 자바로 작성되고, 안드로이드의 달빅 가상 머신에서 실행되므로 ARM, x86 및 여러 아키텍처에 걸쳐 모두 사용될 수 있다. 키보드, 터치, 기울임, 카메라, 음성, 트랙 볼 등의 다양한 입력 방식의 지원. 사용자 인터페이스는 어떤 화면 해상도나 화면 방향에 맞춰서도 정의될 수 있다. 안드로이드는 장소에 구애받지 않는 휴대폰의 편재성과 오픈소스 소프트웨어의 장점, 아울러 구글 및 개방형휴대폰연맹(Open Handset Alliance, 오픈 핸드셋 연합)의 적극적인 지원 등을 받고 있다. 이러한 사실만으로도 안드로이드는 개발자가 반드시 배워야 할 모바일 플랫폼이라 할 수 있다. 안드로이드 폰이 없어도 안드로이드 SDK와 핸드폰 에뮬레이터가 설치된 컴퓨터만 있으면 개발이 가능하다. 이 책을 통해서 실제로 작동하는 안드로이드 버전의 ‘헬로, 월드(Hello, World)’ 응용 프로그램을 순식간에 만들 수 있다. 그 외에도 이 책은 스도쿠 게임과 같은 좀 더 실질적인 예제로 유저 인터페이스(터치, D-패드, 키보드 입력 등)를 이해시키고, 위치 기반 서비스 구성하기(GPS와 셀타워 측량 등)나 센서 작동하기(나침반과 가속계 적용하기) 등을 통해 안드로이드 프로그래밍의 여러 측면에 대해 다루고 있다. 오디오 및 동영상 지원하기, 2D 및 3D OpenGL을 사용해 그래픽 추가하기, 웹 페이지와 웹 서비스에 연결하기, SQLite에 데이터 저장하기 등에 대해서도 배우며 안드로이드 애플리케이션 수명 주기의 전반적인 개요를 이해할 수 있도록 하였다. 읽고 이해시키려는 코드보다 직접 코딩하며 배우기를 원한다면, 바로 이 책을 집어 들기 바란다. 이 책은 세 부분으로 나뉘어 있다. 대략적으로 말하자면, 쉬운 주제에서 어려운 주제로, 또는 일반적인 부분에서부터 덜 흔한 내용 쪽으로 진행된다고 볼 수 있다. 여러 장에서 공통된 스도쿠 게임 예제가 사용된다. 점차적으로 게임에 기능을 추가함으로써, 사용자 인터페이스, 멀티미디어, 안드로이드의 수명주기 등을 포함한 안드로이드 프로그래밍의 다양한 면을 배우게 된다. 제1부는 안드로이드에 대한 소개로 시작한다. 안드로이드 에뮬레이터를 설치하는 방법과 통합 개발 환경(IDE)을 사용하는 방법을 배우고 나서 안드로이드 수명주기와 같은 개념을 배워 본다. 안드로이드 개발은 조금 낯설 수 있으므로 다음 주제로 넘어가기 전, 이러한 개념을 확실히 알고 넘어간다. 제2부에서는 안드로이드 사용자 인터페이스, 2차원 그래픽, 멀티미디어 구성요소 및 간단한 데이터 액세스를 다뤄 본다. 이러한 기능은 여러분이 만들 대부분의 프로그램에 사용될 것이다. 제3부는 안드로이드 플랫폼에 대해 더욱 깊이 들어간다. 여기서는 외부 세상에 연결하는 법, 위치 기반 서비스, 내장된 SQLite 데이터베이스 및 3차원 그래픽에 관해 배워 본다. 이 책 마지막의 부록에는 안드로이드와 자바 표준 에디션(SE: Standard Edition)의 차이점, 안드로이드 위젯, 안드로이드 마켓에 대한 내용이 있다. 이 책의 대상 독자 이 책의 유일한 요구사항은 자바 또는 다른 객체 지향 프로그래밍 언어(C# 정도면 충분하다)에 대한 기본적인 이해다. 모바일 기기 소프트웨어 개발에 관한 사전 경험은 필요하지 않다. 개발 경험이 있다면 그 경험을 잊는 게 나을 것이다. 관련 웹 사이트 소스코드 및 원서정오표: http://pragprog.com/titles/eband2/hello-android 저자 운영 블로그: http://www.planetandroid.com |