로그인회원가입장바구니고객센터마이페이지회사소개
kangcom
전체
Home >   >   > 

실무에 바로 적용하는 안드로이드 프로그래밍

 [(반양장본)]
   
지은이 빌 필립스, 브라이언 하디   |   출판사 주식회사 제이펍  |   발행일 2013년 11월 22일
 
클릭하시면 큰 도서이미지를 보실 수 있습니다.
판매가 35,000원31,500원 10%
마일리지 5% 1,750원
발행일 2013-11-22 | 사이즈: 17.8*25.4
ISBN 8994506829 |  9788994506821
기타정보 번역서 | 800쪽 | 일반
예상출고일
배송비 무료배송
   
프로그래밍
종합지수 0p
   
이 책의 원서
  Android Programming: The Big Nerd Ranch Guide
Addison-Wesley Professional | Bill Phillips
주의사항 더이상 출간되지 않습니다.
 

아마존 안드로이드 서적 중 최고의 베스트셀러!
최신 안드로이드인 킷캣(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 데이터베이스, 로더, 구글 맵 사용법을 배운다.

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
다운로드 관련 고려 사항들_554
main 스레드와 소통하기_555
백그라운드 스레드 만들기_557
메시지와 메시지 핸들러_559
AsyncTask vs. Threads_570
챌린지: 프리로딩과 캐싱_571

28장 검색_573
플리커 검색하기_573
검색 대화상자_576
안드로이드 3.0 이상에서 SearchView 사용하기_589
챌린지_592

29장 백그라운드 서비스_593
IntentService 생성하기_593
서비스의 필요성_597
새로운 결과 찾기_599
AlarmManager를 사용한 지연 실행_601
알람 제어하기_605
통지_608
서비스 자세히 알아보기_611

30장 브로드캐스트 인텐트_617
장치 부팅 시 앱 깨우기_618
포그라운드 통지의 필터링_623
수신자와 오래 실행되는 태스크_635

31장 웹과 웹뷰의 브라우징_637
플리커 데이터에서 하나 더 알아둘 사항_637
쉬운 방법: 암시적 인텐트_640
더 어려운 방법: WebView_641
자바스크립트 객체 추가하기_649

32장 커스텀 뷰와 터치 이벤트_651
DragAndDraw 프로젝트 설정하기_652
커스텀 뷰 생성하기_655
터치 이벤트 처리하기_658
onDraw(…) 내부에서 렌더링하기_663
챌린지: 방향 회전_665

33장 장치의 위치 추적하기_667
RunTracker 시작하기_667
위치와 LocationManager_672
브로드캐스트되는 위치 갱신 정보 받기_675
위치 데이터를 사용하도록 UI 변경하기_678
더 빠른 해결책: 마지막 인식 위치_682
실제 장치와 가상 장치에서 위치 테스트하기_684

34장 SQLite 로컬 데이터베이스_687
이동과 위치를 데이터베이스에 저장하기_688
데이터베이스의 이동 데이터 쿼리하기_697
CursorAdapter를 사용해서 이동 리스트 보여주기_700
새로운 이동 생성하기_703
이동의 상세 내역 처리하기_705
챌린지: 현재 (위치 기록 중인) 이동 식별하기_713

35장 Loader로 비동기 데이터 로드하기_715
Loader 와 LoaderManager_715
RunTracker 에서 로더 사용하기_718
이동 리스트 데이터 로드하기_718
하나의 이동 (Run) 로드하기_723
이동 (Run)의 마지막 위치 (Location) 로드하기_727

36장 구글 맵 사용하기_731
맵 API 를 RunTracker 에 추가하기_731
사용자의 위치를 지도에 보여주기_734
이동(Run)의 경로 보여주기_739
이동(Run)의 시작과 끝에 표식 추가하기_744
챌린지: 라이브 위치 변경_745

37장 책을 마무리하며_747
마지막 챌린지_747
부담 없는 연락처_748
감사합니다_748

[ 저자 ]

빌 필립스(Bill Phillips)
Big Nerd Ranch의 안드로이드 강사이면서 소프트웨어 엔지니어다. 그는 Big Nerd Ranch의 호평받는 안드로이드 교육 훈련 캠프의 교재를 개발하였다. 빌은 모든 것을 깊이 탐구하고 이해하는 열정을 갖고 있으며, 다른 사람들도 그렇게 하도록 도와준다. 한가한 시간에는 독서를 하거나 피아노 연주를 즐겨 한다.

브라이언 하디(Brian Hardy)
소프트웨어 엔지니어이자 Big Nerd Ranch의 강사다. 그는 안드로이드와 iOS 및 Ruby 과정의 교재를 개발하였다. 모바일 앱을 가르치거나 개발하지 않을 때는 자전거를 타거나 소장한 음반을 듣곤 한다.

[ 역자 ]

심재철
현재 프리랜서로, 데이터베이스/모바일 시스템 컨설팅과 강의를 진행하고 있다. 데이터베이스 및 객체지향 시스템 개발 프로젝트에 15년간 몸담았으며, 건설/금융 분야 애플리케이션 개발에도 참여했다. 대표 저/역서로는 『UML 사용자 지침서』, 『Thinking in JAVA 4/e』, 『이펙티브 자바』, 『SQLite 마스터 북(제2판)』, 『프로 오브젝티브-C 디자인 패턴』, 『세븐 데이터베이스: 만들면서 파악하는 NoSQL』 등이 있다.
등록된 서평이 없습니다.
니콜라이 옐...
에리카 세든...
 
전체평균(0)
회원평점   회원서평수 0
주식회사 제이펍 출판사의 신간
파이썬으로 배우는 게임 개발: 실전편
히로세 츠요시/김연수 저
27,000원
(10%↓+5%)
 
실무에 바로 쓰는 일잘러의 보고서 작성법
김마라 저
16,200원
(10%↓+5%)
 
심층 강화학습 인 액션
류광/류광 저
27,000원
(10%↓+5%)
 
프로그래머를 위한 파이썬
황반석/황반석 저
22,500원
(10%↓+5%)
 
통계의 아름다움
리찌엔/김슬기 저
17,820원
(10%↓+5%)
 
이메일주소수집거부