출고예상일 안내
주문하신 상품이 한국에서 현지 배송을 위한 출고단계가 이루어질 것으로 예상되는 날짜입니다. 상품을 준비하는 과정에서 내부적인 사정으로 인해 출고예상일에 다소 오차가 생길 수 있습니다.
여러 상품(예약상품포함)을 함께 주문하신 경우 출고예상일이 가장 늦은 날짜에 맞춰 함께 배송됩니다.

실무에 바로 적용하는 안드로이드 프로그래밍
원제 : Android Programming: The Big Nerd Ranch Guide
시리즈 :
아이러브 모바일
[25]
,
아이 러브 모바일 (I♥Mobile)
[29]
빌 필립스, 브라이언 하디 저 | 심재철 역 | 제이펍 | 2014년 02월
ISBN : 9788994506821 / 800쪽 188 x 245 (㎜)
이 상품에 궁금하신점이 있으세요? 1:1상담문의

-
정지훈
-
성구(강성규)
- 25,200
- 21,600
- 19,800
- 21,600
- [시리즈] 아이러브 모바일 [25]
- [시리즈] 아이 러브 모바일 (I♥Mobile) [29]
출판사 리뷰
출판사 서평 아마존 안드로이드 서적 중 최고의 베스트셀러! 최신 안드로이드인 킷캣(4.4) 버전에서 코드 테스트 완료! 8개의 앱을 직접 따라 만들면서 배우는 실전 안드로이드 프로그래밍! 미국 최고의 모바일 교육기관인 빅 너드 랜치(Big Nerd Ranch)의 안드로이드 강의 노하우를 기반으로 집필! 이 책은 빅 너드 랜치(Big Nerd Ranch)의 잘 알려진 안드로이드 훈련 캠프 과정의 노하우를 기반으로 집필되었다. 따라서 이 책을 통해서 최신 안드로이드의 핵심적인 개념을 배울 수 있고, API에 관한 명쾌한 설명과 더불어 직... 아마존 안드로이드 서적 중 최고의 베스트셀러! 최신 안드로이드인 킷캣(4.4) 버전에서 코드 테스트 완료! 8개의 앱을 직접 따라 만들면서 배우는 실전 안드로이드 프로그래밍! 미국 최고의 모바일 교육기관인 빅 너드 랜치(Big Nerd Ranch)의 안드로이드 강의 노하우를 기반으로 집필! 이 책은 빅 너드 랜치(Big Nerd Ranch)의 잘 알려진 안드로이드 훈련 캠프 과정의 노하우를 기반으로 집필되었다. 따라서 이 책을 통해서 최신 안드로이드의 핵심적인 개념을 배울 수 있고, API에 관한 명쾌한 설명과 더불어 직접 앱을 작성하면서 안드로이드 프로그래밍의 기초부터 고급 기법까지 배울 수 있다. 또한, 이 책은 오늘날 널리 사용되는 모든 안드로이드 버전과 호환될 수 있는, 앱 개발에 필요한 실제적인 기법을 가르치는 데 초점을 둔다. 책에서는 8개의 앱을 만들어 가는 과정을 친절하게 설명하고 있다. 따라서 여러분이 직접 코드를 작성하고 실행해 보면 안드로이드 프로그래밍 실력이 절로 향상되는 것을 느끼게 될 것이다. 각 장에 있는 내용 설명과 앱은 안드로이드 앱 개발을 시작하는 데 필요한 지식과 경험을 제공하기 위해 설계되고 테스트되었다. 이 책의 구성 이 책에서는 8개의 안드로이드 앱을 작성한다. 어떤 것들은 매우 간단해서 한 장으로 끝나지만, 또 어떤 것들은 더 복잡해서 여러 장에 걸쳐 만들어진다. 그중 가장 복잡하고 긴 앱은 13개 장에 걸쳐 개발된다. 모든 앱들은 저마다 중요한 개념과 기법을 가르치도록 설계되었으므로, 이 책을 읽으면서 앱을 작성하다 보면 어느새 여러분이 숙련된 안드로이드 프로그래머가 된 것을 느끼게 될 것이다. 8개 앱은 다음과 같다. ★ GeoQuiz: 우리의 첫 번째 앱이다. 안드로이드 프로젝트의 전체적인 구성, 액티비티, 레이아웃, 명시적 인텐트와 같은 기본적이고 핵심적인 내용들을 배운다. ★ CriminalIntent: 이 책에서 가장 큰 규모의 앱이며, 사무실에서 발생하는 불미스러운 일들을 기록하고 관리한다. 이 앱을 만들면서 많은 중요한 것을 배운다. 프래그먼트, 마스터-디테일 사용자 인터페이스, 메뉴, 카메라, 암시적 인텐트 등의 사용법을 배운다. ★ HelloMoon: 이 작은 앱에서는 프래그먼트, 미디어(오디오와 비디오) 재생, 리소스, 지역화에 대해서 배운다. ★ NerdLauncher: 안드로이드 시스템에서 앱을 시작시키는 우리의 커스텀 론처를 만든다. 그럼으로써 안드로이드의 인텐트와 태스크에 대해 자세히 배운다. ★ RemoteControl: 이 앱에서는 멋진 사용자 인터페이스를 만들기 위해 스타일, 상태 리스트 drawable 및 그 외 다른 도구들을 사용하는 방법을 배운다. ★ PhotoGallery: 사진 정보를 갖고 있는 플리커(Flickr) 사이트로부터 사진들을 다운로드하고 보여주는 플리커 클라이언트 앱이다. 이 앱에서는 안드로이드의 서비스와 다중 스레드 및 웹 서비스를 액세스하는 방법을 알려준다. ★ DragAndDraw: 이 간단한 앱에서는 터치 이벤트를 처리하고 우리의 커스텀 뷰를 만드는 방법을 배운다. ★ RunTracker: 이 앱에서는 GPS를 이용해서 우리가 이동한 경로를 추적 기록하고 지도에 보여준다. 위치 서비스, SQLite 데이터베이스, 로더, 구글 맵 사용법을 배운다. 추천사 “빅 너드 랜치에서는 수많은 개발자가 안드로이드 앱을 능숙하게 개발하는 데 필요한 교육 훈련을 제공하고 있다. 이 책은 그 교육의 진수를 모아놓은 것이며, 자신의 실력을 향상하고자 하는 누구에게도 큰 도움을 줄 것이다.” _ 마이크 쉐이버(Mike Shaver), 페이스북의 모바일 엔지니어링 담당 임원 “안드로이드에 입문하려는 개발자는 물론이고 어느 정도 경험 있는 개발자도 꼭 봐야 할 책이다. 나는 이 책에서 보여주는 내용과 명쾌함에 감명을 받았다. 안드로이드의 쉽고 어려운 주제 모두를 똑같이 이해하기 쉽게 설명하고 있다.” _ 제임스 스틸(James Steele), 『Android Developer’s Cookbook』 저자






이 책에서는 모바일 시스템의 대명사라 할 수 있는 안드로이드의 애플리케이션을 개발하는 데 필요한 내용을 알려줍니다. 그러나 기존의 여타 책들과 달리, 이 책은 실제 애플리케이션에 필요한 지식을 습득하면서 만들 수 있게 배려되어 있습니다. 즉, 여러 가지 기능을 나열하고 단편적인 코드를 보여주는 형태가 아니라, 실제 애플리케이션을 만들어 가면서 핵심적인 기능을 점진적이고 자연스럽게 배우고 프로그래밍하는 능력을 키워줍니다.
_XV
안드로이드에서 뷰 계층의 객체들은 레이아웃 파일에 정의된 XML로부터 생성된다. GeoQuiz 앱에서는 단 하나의 레이아웃만이 activity_quiz.xml 파일에 정의되어 있다. 이 레이아웃은 그림 2.6에 있는 것처럼 수정이 필요하다. (여기서는 공간을 절약하기 위해 변경되지 않는 속성들은 나타내지 않았다.)
_42
리스트-디테일 애플리케이션은 두 개의 액티비티로 구성된다고 생각할 수 있다. 하나는 리스트(목록)를 관리하고, 다른 것은 디테일(상세 내역) 뷰를 관리한다. 리스트의 범죄를 클릭하면 디테일 액티비티의 인스턴스 생성을 시작할 것이다. 그리고 Back 버튼을 누르면 디테일 액티비티를 소멸시키고 리스트로 돌아와서 또 다른 범죄를 선택할 수 있다.
_150
convertView 매개변수는 리스트 항목 하나를 보여주는 뷰 객체이다. 이 객체는 매번 새로 생성되지 않고 기존 객체를 어댑터가 재구성하고 반환할 수 있다. 이처럼 뷰 객체들을 재사용하면 성능 면에서 장점이 있다. 같은 타입의 객체를 계속해서 생성하고 소멸시키지 않기 때문이다. ListView는 정해진 수의 리스트 항목들만 한 번에 보여줄 수 있다. 따라서 많은 수의 사용되지 않는 뷰 객체들을 생성하여 공연히 메모리를 낭비하게 할 이유가 없다.
_227
액션 바(action bar)는 허니콤 버전에서 소개되었으며, 구 버전의 타이틀 바를 대체하였다. 그러나 액션 바는 앱의 제목과 아이콘을 보여주기만 하는 것이 아니라 그 이상의 더 많은 일을 한다. 액션 바는 또한 메뉴 항목을 적재할 수 있으며, 그것의 앱 아이콘은 내비게이션 버튼으로 사용될 수 있다.
_319
이 장에서는 안드로이드의 고수준 HTTP 네트워킹을 사용하는 방법을 배울 것이다. 오늘날 거의 모든 웹 서비스 프로그래밍은 HTTP 네트워킹 프로토콜을 기반으로 한다. 그리고 플리커로부터 사진 캡션(사진에 첨부한 설명)들을 가져와서 파싱하고 보여줄 것이다.
_526
목차
1장 처음 만드는 안드로이드 애플리케이션_1
앱 기본사항_2
안드로이드 프로젝트 생성하기_3
이클립스 사용하기_7
사용자 인터페이스의 레이아웃 만들기_8
레이아웃 XML 에서 뷰 객체로_18
위젯을 코드와 연결하기_22
에뮬레이터에서 실행시키기_30
안드로이드 앱 빌드 절차_32
2장 안드로이드와 모델-뷰-컨트롤러_37
새로운 클래스 만들기_38
모델 뷰-컨트롤러와 안드로이드 42
뷰 계층 수정하기_45
컨트롤러 계층 수정하기_47
장치에서 실행하기_53
아이콘 추가하기_55
챌린지_59
챌린지: 리스너를 TextView에 추가한다_59
챌린지: Previous(이전) 버튼을 추가한다_60
챌린지: Button에서 ImageButton으로 변경_61
3장 액티비티 생명주기_63
액티비티 생명주기 로깅하기_64
장치 회전과 액티비티 생명주기_73
장치 회전 시 데이터 저장하기_78
액티비티 생명주기 다시 알아보기_80
onSaveInstanceState(Bundle) 테스트하기_82
로깅 레벨과 관련 메서드들_83
4장 안드로이드 앱의 디버깅_85
DDMS 퍼스펙티브_87
예외와 스택 기록_88
파일 탐색기_100
안드로이드 특유의 디버깅_101
5장 두 번째 액티비티 만들기_105
두 번째 액티비티 준비하기_107
액티비티 시작시키기_116
액티비티 간의 데이터 전달_119
안드로이드가 액티비티를 어떻게 알까 ?_129
챌린지_132
6장 안드로이드 SDK 버전과 호환성_133
안드로이드 SDK 버전_133
호환성과 안드로이드 프로그래밍_135
안드로이드 개발자 문서_144
챌린지: 빌드 버전 보여주기_148
7장 UI 프래그먼트와 프래그먼트 매니저_149
UI 유연성의 필요_150
프래그먼트 개요_151
CriminalIntent 앱 개발 시작하기_153
UI 프래그먼트의 호스팅_161
UI 프래그먼트 생성하기_165
UI Fragment를 FragmentManager에게 추가하기_171
이 책의 모든 액티비티가 프래그먼트를 사용하는 이유_177
허니콤, 아이스크림 샌드위치, 젤리빈과 그 이후 버전에서의 앱 개발_178
8장 레이아웃과 위젯으로 사용자 인터페이스 생성하기_179
Crime 업그레이드하기_179
레이아웃 변경하기_181
위젯을 코드와 연결하기_183
XML 레이아웃 속성을 더 자세히 알아보기_185
그래픽 레이아웃 도구 사용하기_191
챌린지: 날짜의 형식 만들기_200
9장 ListFragment로 리스트 보여주기_201
CriminalIntent의 모델 계층 변경하기_203
ListFragment 생성하기_206
프래그먼트의 호스팅을 위한 추상 액티비티_208
ListFragment, ListView, ArrayAdapter_215
리스트 항목의 커스터마이징_223
10장 프래그먼트 인자 사용하기_231
프래그먼트로부터 액티비티 시작시키기_232
프래그먼트 인자_237
리스트를 다시 로딩하기_240
프래그먼트로부터 결과받기_242
11장 ViewPager 사용하기_245
CrimePagerActivity 생성하기_247
ViewPager 가 실제로 동작하는 방법_256
12장 대화상자_259
DialogFragment 생성하기_262
두 프래그먼트 간에 데이터 전달하기_268
챌린지: 더 많은 대화상자 만들기_279
13장 MediaPlayer를 사용한 오디오 재생_281
리소스 추가하기_283
HelloMoonFragment의 레이아웃 정의하기_285
HelloMoonFragment 생성하기_287
레이아웃 프래그먼트 사용하기_288
오디오 재생_290
챌린지: 오디오 재생을 일시 중지하기_294
비디오 재생하기_294
챌린지: HelloMoon에서 비디오 재생하기_295
14장 유보 프래그먼트_297
프래그먼트 유보시키기_298
장치 회전과 유보 프래그먼트_299
유보 프래그먼트: 그렇게 좋을까?_301
장치 회전 처리와 onSaveInstanceState(Bundle)_302
프래그먼트가 나오기 전의 장치 회전 처리_305
15장 지역화_307
리소스를 지역화하기_308
구성 수식자_310
더 많은 리소스 규칙과 규정들_315
대체 리소스 테스트하기_317
16장 액션 바_319
옵션 메뉴_320
내비게이션 활성화하기_330
대체 메뉴 항목_337
챌린지: 텅 빈 리스트 뷰_342
17장 로컬 파일의 저장과 로딩 343
CriminalIntent의 데이터를 저장하고 로딩하기_344
챌린지: 외부 스토리지 사용하기_354
안드로이드 파일 시스템과 자바 I/O_354
18장 컨텍스트 메뉴와 컨텍스트 액션 모드_357
컨텍스트 메뉴 리소스 정의하기_359
플로팅 컨텍스트 메뉴 구현하기_359
컨텍스트 액션 모드 구현하기_364
호환성: 소극적 하향 지원인가 아니면 기능 복제인가?_372
챌린지: CrimeFragment에서 Crime 데이터 삭제하기_373
ActionBarSherlock_374
챌린지: ActionBarSherlock 사용하기_378
19장 카메라 I: 뷰파인더_381
프래그먼트 레이아웃 생성하기_384
CrimeCameraFragment 생성하기_385
CrimeCameraActivity 생성하기_386
카메라 API 사용하기_388
명령행에서 액티비티 실행시키기_402
20장 카메라 II: 사진 찍고 이미지 처리하기_405
사진 찍기_406
CrimeFragment 로 데이터 되돌려주기_413
모델 계층의 데이터 변경하기_417
CrimeFragment의 뷰 변경하기_420
더 큰 이미지를 DialogFragment에 보여주기_428
챌린지: 범죄 이미지의 방향_431
챌린지: 사진 삭제하기_431
안드로이드의 Deprecation_431
21장 암시적 인텐트_435
버튼 추가하기_436
모델 계층에 용의자 추가하기_439
포맷 문자열 사용하기_440
암시적 인텐트 사용하기_441
챌린지: 또 다른 암시적 인텐트_451
22장 두 패널 마스터-디테일 인터페이스_453
레이아웃의 유연성 추가하기_454
프래그먼트의 보스인 액티비티_462
장치 크기 결정에 관해 추가로 알아보기_473
23장 인텐트와 태스크_475
NerdLauncher 준비하기_475
암시적 인텐트 해결하기_478
런타임 시에 명시적 인텐트 생성하기_482
태스크와 back 스택_484
NerdLauncher 를 홈 화면으로 사용하기_488
챌린지: 아이콘과 태스크 재정렬하기_488
프로세스 vs. 태스크_489
24장 스타일과 Include_493
RemoteControl 프로젝트 설정하기_494
스타일을 사용해서 정리하기_500
레이아웃 완성하기_502
include와 merge_507
챌린지: 스타일의 상속_508
25장 XML Drawable과 9-Patch_509
XML drawable_510
상태 리스트 Drawable_514
레이어 리스트 drawable 과 인셋 drawable_516
9-Patch 이미지 사용하기_519
26장 HTTP & 백그라운드 태스크_525
PhotoGallery 생성하기_527
네트워킹 기본_530
AsyncTask를 사용해서 백그라운드 스레드로 실행하기_532
Main 스레드_534
플리커에서 XML 가져오기_537
AsyncTask 로부터 main 스레드로 돌아오기_544
AsyncTask 에 관해 추가로 알아보기_548
챌린지: 페이징_550
27장 Looper, Handler, HandlerThread_551
이미지를 보여주기 위해 GridView 준비하기_551
다운로






































