장바구니 담기 close

장바구니에 상품을 담았습니다.

헬로 안드로이드 22(제3판)

헬로 안드로이드 22(제3판)

  • 에드 버넷
  • |
  • ITC
  • |
  • 2010-11-10 출간
  • |
  • 328페이지
  • |
  • 188 X 245 X 30 mm /682g
  • |
  • ISBN 9788963510231
판매가

23,000원

즉시할인가

20,700

배송비

2,300원

(제주/도서산간 배송 추가비용:3,000원)

수량
+ -
총주문금액
20,700

※ 스프링제본 상품은 반품/교환/환불이 불가능하므로 신중하게 선택하여 주시기 바랍니다.

출판사서평

안드로이드는 왜 특별한가?
● 리눅스와 오픈 소스에 기반한, 진정한 의미의 무료 개방형 개발 플랫폼.

휴대폰 제조사들은 로열티를 지불하지 않고 플랫폼을 이용하거나 최적화할 수 있다는 점에서 안드로이드를 좋아한다. 개발자들은 안드로이드가 매우 빠르게 발전하고 있고, 파산이나 인수합병의 위험이 있는 특정 공급자에 묶여 있지 않다는 점에서 이 플랫폼을 좋아한다.

● 인터넷 매쉬업(mashups)에서 영감을 받은 컴포넌트 기반의 아키텍처.
한 응용 프로그램의 일부분이 개발자가 미처 생각지 못했던 방식으로 다른 프로그램에 사용될 수 있다. 심지어 당신이 만든 개선된 버전으로 기본 제공 컴포넌트를 대체할 수도 있다. 이는 모바일 공간에 새로운 창조의 장을 열어놓을 것이다.

● 기본으로 제공되는 멋진 서비스들.
GPS와 기지국 삼각측량 방식을 이용하는 위치 기반 서비스들은 당신이 위치에 따른 사용자 경험을 최적화할 수 있도록 지원한다. 본격적인 SQL 데이터베이스는 OCC(occasionally connected computing) 구현과 데이터 동기화를 위한 로컬 저장 기능을 제공한다. 브라우저와 지도 출력 기능은 당신의 응용 프로그램에 바로 내장될 수 있다. 이러한 모든 기본 제공 서비스들이 개발 비용을 줄이는 동시에 기능성을 높이는 역할을 한다.

● 자동으로 응용 프로그램 수명 주기(라이프 사이클) 관리.
프로그램들이 다층 구조의 보안 시스템에 의해 서로 격리되어, 이제껏 스마트폰에서는 볼 수 없었던 수준의 시스템 안정성을 제공할 것이다. 사용자들은 더 이상 어떤 응용 프로그램이 활성화되어 있는지 걱정하거나 특정 프로그램을 구동하기 위해 다른 프로그램을 종료해야 할 필요가 없다. 안드로이드는 다른 플랫폼이 시도하지 못했던 근본적인 방식으로 저전력, 저메모리 장치에 최적화되어 있다.

● 고품질 그래픽과 사운드.
플래시(Flash)로부터 영감을 받아 부드럽고 매끄럽게 외곽처리된 2D 벡터 이미지와 애니메이션이 3D 가속처리된 OpenGL 이미지들과 병합되면서 새로운 종류의 게임과 업무용 프로그램들이 가능해졌다. 가장 널리 쓰이는 업계 표준 오디오, 비디오 포맷을 위해 H.264(AVC), MP3, AAC 등의 코덱(codec)이 내장되어 있다.

● 광범위한 현재와 미래의 하드웨어를 아우르는 휴대성.
모든 프로그램이 자바로 작성되고 안드로이드의 달빅(Dalvik) 가상 머신에서 실행되므로 모든 코드는 ARM, x86 및 그 외 아키텍처를 넘나들 수 있다. 키보드, 터치, 트랙볼을 포함한 다양한 입력방식 지원. 사용자 인터페이스는 어떤 화면 해상도나 화면 방향에도 최적화 가능.
안드로이드는 모바일 응용 프로그램이 사용자와 상호작용할 수 있도록 기술적인 토대를 제공함과 동시에 그 상호작용 방식에서도 신선한 자극을 제공하고 있다. 그러나 안드로이드의 제일 좋은 부분은 무엇보다 이 소프트웨어가 당신이 만들려는 프로그램을 위한 것이라는 점이다. 이 책이 당신의 위대한 시작을 여는 데 도움이 될 것이다.
뒷표지 내용

철저하지만 친절한 입문서와 함께 안드로이드Android 앱App 개발 배우기.
‘헬로, 안드로이드Hello, Android’는 많은 안드로이드 책 중에서도 새로운 플랫폼platform을 접하는 개발자들에게 가장 적합한 흐름과 범위로 구성되어 있다. 누구라도 금방 안드로이드 앱을 만들 수 있을 것이다!

▶마르코 가젠타Marko Gargenta
마라카나닷컴Marakana.com CEO

‘헬로, 안드로이드’ 세 번째 판을 보면 기본 개념에서부터 안드로이드 마켓Android Market에 배포하는 것까지 안드로이드 어플리케이션 개발의 급행열차를 탈 수 있다. 저자는 이 주제에 대한 방대한 경험을 보여주고 있으며 멀티 터치와 OpenGL과 같이 찾아내기 힘든 주제까지도 다루고 있다. 흥미진진한 안드로이드 개발을 시작하려는 사람이라면 누구나 필독해야 할 책이다.

▶디에고 토레스 밀라노Diego Torres Milano
안드로이드 전문가이자 블로거

‘헬로, 안드로이드’를 속속들이 재미있게 읽었고, 내가 처음의 두 앱을 시장에 내놓을 때 제대로 일의 경로를 밟아가는 데 도움이 되었다.

▶네이든 랩Nathan Rapp
케이엠브리또 디자인KMBurrito Designs 설립자

‘헬로, 안드로이드’는 단순한 맛보기가 아니라 초보자나 전문가 할 것 없이 안드로이드 개발의 세계로 초대하고 있다.

▶마이클 마틴Michael Martin,
공인 프로젝트관리전문가, 구글앤블로그GoogleAndBlog와 모바일 마틴Mobile Martin 설립자

‘헬로, 안드로이드 2.2(3판)’은 네 부분으로 구성되어 있다. 대략적으로 말하자면, 이 책은 쉬운 주제에서부터 어려운 주제로, 또는 안드로이드의 일반적인 측면에서부터 특수한 측면으로 진행한다고 볼 수 있다.

여러 장에서 안드로이드용 스도쿠 게임 예제가 사용된다. 점진적으로 게임에 기능을 추가해가면서 우리는 사용자 인터페이스와 멀티미디어, 수명 주기 등을 포함한 안드로이드 프로그래밍의 다양한 측면을 배우게 된다.

제1부는 안드로이드 소개로 시작한다. 안드로이드 에뮬레이터를 어떻게 설치하고 첫 프로그램을 만들기 위해 ‘통합 개발 환경(integrated development environment, IDE)’을 어떻게 써야 하는지 배울 수 있는 부분이다. 그 후에 안드로이드 수명 주기와 같은 몇몇 주요 개념들이 소개될 것이다. 안드로이드 프로그래밍이 당신이 익숙한 것과는 아마 조금 다를 것이라, 이러한 개념들을 확실히 알고 나서 넘어가도록 하자.

제2부는 안드로이드의 사용자 인터페이스와 2차원 그래픽, 멀티미디어 구성 요소, 간단한 데이터 접근을 다루고 있다. 이러한 기능은 거의 모든 프로그램에서 사용되는 것들이다.

제3부는 안드로이드 플랫폼을 좀더 깊이 파고든다. 여기서 우리는 외부 인터넷 연결과 위치 기반 서비스, 내장 SQLite 데이터베이스, 3차원 그래픽에 대해 배워 본다.

제4부는 멀티 터치를 포함한 진일보된 입력기술과 위젯 또는 동적 배경화면을 이용한 홈 화면의 기능 확장을 논의하면서 전체를 마무리한다. 마지막으로 우리는 앱을 다양한 안드로이드 기기들과 버전에 호환되도록 만드는 방법과 이를 안드로이드 마켓에 배포하는 법을 살펴볼 것이다.

책의 말미에는 안드로이드와 자바 표준 에디션(Java Standard Edition, SE) 간의 차이점을 정리해놓은 부록과 참고문헌 목록이 있다.

3판에서 무엇이 새로워졌나?

세 번째 판은 1.5버전에서부터 2.2버전, 또는 그 이상의 모든 안드로이드 버전을 지원할 수 있도록 업데이트되었다. 각 버전에서 새로 소개된 기능들과 이들이 다뤄진 장에 대해 간단히 요약했다.

컵케익의 새로운 기능
안드로이드 1.5(컵케익, Cupcake)는 소프트(화면상의) 키보드, 동영상 녹화, 응용 프로그램 위젯 지원 등을 포함하는 대규모 플랫폼 기능 개선을 선보였다. 내부적으로 안드로이드 1.1과 1.5 사이에는 1,000개가 넘는 API 변경이 있다. 위젯은 제12장 1절 헬로, 위젯에서다루고있다.

도넛의 새로운 기능
안드로이드 1.6(도넛, Donut)은 고밀도와 저밀도 디스플레이에 대한 지원 기능과 함께 대부분의 개발자에게 영향을 주지 않는 사소한 변경 사항을 추가했다. 다양한 기기의 형태 요소를 어떻게 지원하는지, 제13장 5절 크고 작은 화면들에서 배울 수 있다.

에클레어의 새로운 기능
안드로이드 2.0(에클레어, Eclair)는 멀티 터치와 가상 키, 계정 중앙 관리, 동기화 API, 도킹(docking), HTML5 지원 기능 등을 추가했다. 2.0 버전은 곧바로 안드로이드 2.01(역시 에클레어로 불림)로 대체되었는데, 이는 2.0 버전에 몇 가지 버그 수정사항이 추가된 것이다. 멀티 터치는 제11장 멀티 터치에서 다룬다.

에클레어 MR1의 새로운 기능
안드로이드 2.1(에클레어 수정 배포본 1, Eclair Maintenance Release 1)은 동적 배경화면과 추가적인 HTML5 지원 기능과 몇 가지 소소한 개선 사항을 추가했다. 동적 배경화면과 위젯을 포함하는 홈 화면 개선사항들은 제12장 집만한 데가 없어에서다룬다.

프로요와 그 이후 버전의 새로운 기능
안드로이드 2.2(프로요, FroYo)는 외부 저장 장치에서의 응용 프로그램 설치와 더 빨라진 자바 가상 머신, OpenGL ES 2.0 API들에 대한 지원 기능 등을 선보였다. 제13장 6절 SD 카드에 저장하기가 프로그램을 외부 저장장치에 설치하도록 설정하는 법과 그 기능을 써야할 때와 쓰지 말아야 할 때를 설명해줄 것이다.

출하되는 모든 안드로이드 기기들이 안드로이드 1.5(또는 그 이후 버전)를 사용할 수 있다. 새 기기에는 모두 설치되었고, 구글 말로는 예전 기기들도 대부분 업그레이드 되었단다. 최근의 안드로이드 유효 단말의 시장 점유율을 대략적으로 보려면 안드로이드 기기 계기판을 확인하면 된다. 이 책은 1.1 버전 이하는 다루지 않는다.

참고: 모든 기기들이 안드로이드 최신 버전으로 업그레이드되는 데는 한참이 걸릴 것이다(가능하다 가정하더라도), 제13장 한 번 만들어 여러 곳에서 테스트하기에서 하나의 프로그램이 복수의 안드로이드 버전을 지원하는 법을 다룬다. 이 책의 모든 예제들은 1.5버전부터 2.2버전까지 두루 테스트를 거쳤다.

목차

제1부 안드로이드 소개하기

제1장 시작하기 2
1.1 도구 설치하기 2
Java 5.0+ 3
이클립스(Eclipse) 3
안드로이드 SDK 스타터 패키지 4
안드로이드 SDK 컴포넌트 5
이클립스 플러그인 6
1.2 첫 프로그램 만들기 8
1.3 에뮬레이터에서 실행하기 9
AVD 생성하기 11
다시 해보자 14
1.4 진짜 폰에서 구동하기 15
1.5 빨리 넘겨보기 >> 15

제2장 주요 개념 17
2.1 큰 그림 17
리눅스 커널 17
고유 라이브러리 19
안드로이드 런타임 20
어플리케이션 프레임워크(Application Framework) 21
응용프로그램과 위젯 22
2.2 살아있네!(It’s Alive!) 23
프로세스는 응용프로그램과 다르다 24
유명인사들의 라이프 사이클 25
2.3 구성요소 27
액티비티 27
인텐트 27
서비스 28
콘텐트 제공자 28
2.4 리소스 사용하기 29
2.5 안전과 보안 29
2.6 빨리 넘겨보기 >> 31

제2부 안드로이드 기본기

제3장 사용자 인터페이스 만들기 34
3.1 스도쿠 예제 소개 34
3.2 선언으로 만들기 36
3.3 시작 화면 만들기 36
3.4 대체 리소스 사용하기 47
3.5 About 상자 적용하기 50
3.6 테마 적용하기 55
3.7 메뉴 추가하기 57
3.8 설정 추가하기 59
3.9 새 게임 시작하기 62
3.10 디버깅 64
로그 메시지로 디버깅하기 64
디버거로 디버깅하기 66
3.11 게임 끝내기 66
3.12 빨리 넘겨보기 >> 67

제4장 2D 그래픽 그리기 68
4.1 기본기 배우기 68
색깔(Color) 69
칠하기(Paint) 70
캔버스(Canvas) 70
경로(Path) 71
Drawable 72
4.2 스도쿠에 그래픽 추가하기 74
게임 시작하기 74
게임 클래스 정의하기 75
PuzzleView 클래스 정의하기 77
게임판 그리기 79
숫자 그리기 82
4.3 입력 처리하기 83
선택 정의하기와 업데이트하기 84
숫자 입력하기 87
힌트 추가하기 89
흔들기 90
4.4 남은 이야기 91
키패드 만들기 91
게임 로직 적용하기 97
사소한 것들 100
4.5 개선하기 102
4.6 빨리 넘겨보기 >> 103

제5장 멀티미디어 105
5.1 오디오 재생하기 105
5.2 비디오 재생하기 113
5.3 스도쿠에 사운드 추가하기 116
5.4 빨리 넘겨보기 >> 120

제6장 로컬 데이터 저장하기 122
6.1 스도쿠에 옵션 추가하기 122
6.2 이전 게임 이어하기 125
6.3 현재 위치 기억하기 127
6.4 내부 파일 시스템 접근하기 129
6.5 SD 카드 접근하기 130
6.6 빨리 넘겨보기 >> 132

제3부 기초를 넘어서

제7장 연결된 세상 134
7.1 인텐트로 브라우징하기 135
7.2 전망 좋은 웹 140
7.3 자바스크립트에서 자바로, 자바에서 자바스크립트로 146
7.4 웹 서비스 이용하기 153
7.5 빨리 넘겨보기 >> 168

제8장 위치 찾기와 감지하기 169
8.1 로케이션, 로케이션, 로케이션 170
여기가 어디지? 171
위치 업데이트하기 174
에뮬레이션 주의 사항 177
8.2 최대치로 센서 설정하기 178
매혹하는 센서들 178
센서의 표시도수 해석하기 179
에뮬레이션 주의 사항 180
8.3 부감법(Bird’s-Eye View) 182
MapView 내부 장착하기 182
준비하기 186
에뮬레이션 주의사항 188
8.4 빨리 넘겨보기 >> 188

제9장 SQL 활용하기 190
9.1 SQLite 소개 190
9.2 SQL 기초과정 192
DDL 구문 192
수정(modification) 구문 193
질의(query) 구문 193
9.3 Hello, Database 194
SQLiteOpenHelper 사용하기 195
메인 프로그램 정의하기 196
열 추가하기 199
질의 실행하기 200
질의 결과 보여주기 201
9.4 데이터 연결하기 203
9.5 ContentProvider 이용하기 207
메인 프로그램 바꾸기 209
열 추가하기 210
질의하기 210
9.6 ContentProvider 구현하기 211
9.7 빨리 넘겨보기 >> 213

제10장 OpenGL을 이용한 3D 그래픽 214
10.1 3D 그래픽 이해하기 214
10.2 OpenGL 소개하기 215
10.3 OpenGL 프로그램 만들기 217
10.4 장면 렌더링하기 219
10.5 모델 구축하기 223
10.6 조명, 카메라… 226
10.7 액션! 229
10.8 질감 적용하기 231
10.9 비쳐 보이기 234
10.10 부드러움 측정하기 235
10.11 빨리 넘겨보기 >> 237

제4부 차세대 기능들

제11장 멀티 터치 240
11.1 멀티 터치 소개하기 240
11.2 터치 예제 구축하기 242
11.3 터치 이벤트 이해하기 245
11.4 이미지 변환 설정하기 249
11.5 드래그 동작 구현하기 250
11.6 핀치 줌 동작 구현하기 251
두 지점 사이의 거리 252
두 지점의 중간점 253
11.7 빨리 넘겨보기 >> 254

제12장 집만한 데가 없어 255
12.1 헬로, 위젯 255
첫 번째 위젯 생성하기 256
모든 위젯을 호출하라! 256
잡아당겨 맞추기 259
포용하고 확장하라 260
위젯 실행하기 262
지속적인 업데이트 유지하기 262
상상력을 발휘하라 266
12.2 동적 배경화면 266
배경화면 프로젝트 생성하기 267
서비스 소개하기 269
그리기 엔진 구축하기 271
OpenGL 코드 재사용하기 273
엔진 생성하기와 종료하기 274
표면 관리하기 276
배경화면이 보이도록 만들기 278
사용자 입력에 반응하기 279
12.3 빨리 넘겨보기 >> 281

제13장 만들기는 한 번, 테스트는 모든 곳에서 282
13.1 여러분, 에뮬레이터를 여세요 283
13.2 다양한 버전용으로 개발하기 284
13.3 안드로이드 API와 함께 진화하기 285
13.4 버그 출동 293
13.5 크고 작은 모든 화면들 295
13.6 SD Card에 설치하기 297
13.7 빨리 넘겨보기 >> 299

제14장 안드로이드 마켓에 배포하기 300
14.1 준비하기 300
14.2 서명하기 302
14.3 배포하기 303
14.4 업데이트하기 305
14.5 글을 마치며 306

제5부 부록

부록 A 자바 대 안드로이드 언어와 API 308
A.1 언어 하위집합 308
언어 레벨 308
내재적 유형들 309
멀티 스레딩과 동기화 309
리플렉션(Reflection) 309
종료(Finalization) 310
A.2 표준 라이브러리 하위집합 310
지원되는 것들 310
지원되지 않는 것들 311
A.3 제3자 라이브러리들 312

부록B 참고문헌 314

찾아보기 315

저자소개

저자 에드 버넷(Ed Burnette)은 프로그래머이자 저자로서, 그리고 연설자로서 25년 이상의 경험을 갖고 있는 소프트웨어 업계의 베테랑이다. 상업용 컴퓨터 게임에서 고성능 그리드 컴퓨팅 시스템에 이르기까지 다양한 개발을 두루 섭렵하였다. 에드는 SAS 고급 컴퓨팅 연구소(SAS Advanced Computing Lab)의 창립 멤버이자 수석 연구원이며, 『Google Web Toolkit: Taking the Pain out of Ajax』와『Eclipse IDE Pocket Guide』를 포함한 많은 기술 관련 기사 및 서적을 집필하였다. ZDNet의 개발 커넥션(Dev Connection) 블로그를 담당하고 플래닛 안드로이드를 만들어 운영 중에 있다.

도서소개

구글의 모바일 개발 플랫폼 소개하기『헬로 안드로이드 2.2 』. 안드로이드 앱 개발을 위한 책이다. 이 책은 쉬운 주제에서부터 어려운 주제로, 또는 안드로이드의 일반적인 측면에서부터 특수한 측면으로 살펴본다. 여러 장에서 안드로이드용 스도쿠 게임 예제가 사용된다. 점진적으로 게임에 기능을 추가해가면서 사용자 인터페이스와 멀티미디어, 수명 주기 등을 포함한 안드로이드 프로그래밍의 다양한 측면을 배울 수 있다.

교환 및 환불안내

도서교환 및 환불
  • ㆍ배송기간은 평일 기준 1~3일 정도 소요됩니다.(스프링 분철은 1일 정도 시간이 더 소요됩니다.)
  • ㆍ상품불량 및 오배송등의 이유로 반품하실 경우, 반품배송비는 무료입니다.
  • ㆍ고객님의 변심에 의한 반품,환불,교환시 택배비는 본인 부담입니다.
  • ㆍ상담원과의 상담없이 교환 및 반품으로 반송된 물품은 책임지지 않습니다.
  • ㆍ이미 발송된 상품의 취소 및 반품, 교환요청시 배송비가 발생할 수 있습니다.
  • ㆍ반품신청시 반송된 상품의 수령후 환불처리됩니다.(카드사 사정에 따라 카드취소는 시일이 3~5일이 소요될 수 있습니다.)
  • ㆍ주문하신 상품의 반품,교환은 상품수령일로 부터 7일이내에 신청하실 수 있습니다.
  • ㆍ상품이 훼손된 경우 반품 및 교환,환불이 불가능합니다.
  • ㆍ반품/교환시 고객님 귀책사유로 인해 수거가 지연될 경우에는 반품이 제한될 수 있습니다.
  • ㆍ스프링제본 상품은 교환 및 환불이 불가능 합니다.
  • ㆍ군부대(사서함) 및 해외배송은 불가능합니다.
  • ㆍ오후 3시 이후 상담원과 통화되지 않은 취소건에 대해서는 고객 반품비용이 발생할 수 있습니다.
반품안내
  • 마이페이지 > 나의상담 > 1 : 1 문의하기 게시판 또는 고객센터 1800-7327
교환/반품주소
  • 경기도 파주시 문발로 211 1층 / (주)북채널 / 전화 : 1800-7327
  • 택배안내 : CJ대한통운(1588-1255)
  • 고객님 변심으로 인한 교환 또는 반품시 왕복 배송비 5,000원을 부담하셔야 하며, 제품 불량 또는 오 배송시에는 전액을 당사에서부담 합니다.