logo
logo
x
바코드검색
BOOKPRICE.co.kr
책, 도서 가격비교 사이트
바코드검색

인기 검색어

실시간 검색어

검색가능 서점

도서목록 제공

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

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

빌 필립스, 브라이언 하디 (지은이), 심재철 (옮긴이)
  |  
제이펍
2013-11-22
  |  
35,000원

일반도서

검색중
서점 할인가 할인률 배송비 혜택/추가 실질최저가 구매하기
yes24 로딩중
교보문고 로딩중
영풍문고 로딩중
인터파크 로딩중
11st 로딩중
G마켓 로딩중
쿠팡 로딩중
쿠팡로켓 로딩중
notice_icon 검색 결과 내에 다른 책이 포함되어 있을 수 있습니다.

중고도서

검색중
로딩중

e-Book

검색중
서점 정가 할인가 마일리지 실질최저가 구매하기
로딩중

책 이미지

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

책 정보

· 제목 : 실무에 바로 적용하는 안드로이드 프로그래밍 
· 분류 : 국내도서 > 컴퓨터/모바일 > 프로그래밍 개발/방법론 > 애플/아이폰/안드로이드 프로그래밍
· ISBN : 9788994506821
· 쪽수 : 800쪽

책 소개

안드로이드 최신 버전인 키캣(4.4)을 다룬 국내 최초의 서적이자, 아마존 안드로이드 서적 중 최고의 베스트셀러로 판매되고 있는 책. 이 책은 빅 너드 랜치의 잘 알려진 안드로이드 훈련 캠프 과정의 노하우를 기반으로 집필되었다.

목차

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

저자소개

빌 필립스 (지은이)    정보 더보기
인스타그램의 소프트웨어 엔지니어이자 빅 너드 랜치의 안드로이드 강사였다. 그는 빅 너드 랜치의 안드로이드 교재를 개발하고 가르쳤으며, 이 책의 이전 판 저자이기도 하다. 균형 있는 삶을 추구하며, 일과 음악 작곡 및 오디오 하드웨어 프로젝트 모두를 훌륭히 수행해 내고 있다.
펼치기
브라이언 하디 (지은이)    정보 더보기
빅 너드 랜치의 소프트웨어 엔지니어이자 강사다. iOS와 Cocoa 애플리케이션 개발도 하고 있으며, 여가에는 친구나 가족과 함께 시간을 보낸다.
펼치기
심재철 (옮긴이)    정보 더보기
현재 프리랜서로, 데이터베이스/모바일 시스템 관련 컨설팅과 번역을 하고 있다. 또한, 20년 넘게 데이터베이스와 객체지향 시스템 설계 및 개발 프로젝트와 건설/금융 분야 애플리케이션 개발 등에 참여했다. 새로운 테크놀로지와 다양한 프로그래밍 언어를 사용해서 실무에 활용하고 가르치는 것을 좋아한다. 저서로는 《핵심만 골라 배우는 코틀린 프로그래밍》이 있으며, 번역서로는 《실무에 바로 적용하는 안드로이드 프로그래밍(제4판)》, 《스프링 인 액션(제5판)》, 《카프카 핵심 가이드(제1판)》, 《핵심만 골라 배우는 안드로이드 스튜디오 Arctic Fox & 프로그래밍》, 《실무에 적용하는 안드로이드 프로그래밍(제2판)》, 《Learn Android Studio》, 《SQLite 마스터북(제2판)》, 《프로 오브젝티브-C 디자인 패턴》, 《세븐 데이터베이스: 만들면서 파악하는 NoSQL》, 《UML 사용자 지침서》, 《Thinking in JAVA(제4판)》, 《이펙티브 자바》 등이 있다.
펼치기

책속에서

이 책에서는 모바일 시스템의 대명사라 할 수 있는 안드로이드의 애플리케이션을 개발하는 데 필요한 내용을 알려줍니다. 그러나 기존의 여타 책들과 달리, 이 책은 실제 애플리케이션에 필요한 지식을 습득하면서 만들 수 있게 배려되어 있습니다. 즉, 여러 가지 기능을 나열하고 단편적인 코드를 보여주는 형태가 아니라, 실제 애플리케이션을 만들어 가면서 핵심적인 기능을 점진적이고 자연스럽게 배우고 프로그래밍하는 능력을 키워줍니다.


안드로이드에서 뷰 계층의 객체들은 레이아웃 파일에 정의된 XML로부터 생성된다. GeoQuiz 앱에서는 단 하나의 레이아웃만이 activity_quiz.xml 파일에 정의되어 있다. 이 레이아웃은 그림 2.6에 있는 것처럼 수정이 필요하다. (여기서는 공간을 절약하기 위해 변경되지 않는 속성들은 나타내지 않았다.)


리스트-디테일 애플리케이션은 두 개의 액티비티로 구성된다고 생각할 수 있다. 하나는 리스트(목록)를 관리하고, 다른 것은 디테일(상세 내역) 뷰를 관리한다. 리스트의 범죄를 클릭하면 디테일 액티비티의 인스턴스 생성을 시작할 것이다. 그리고 Back 버튼을 누르면 디테일 액티비티를 소멸시키고 리스트로 돌아와서 또 다른 범죄를 선택할 수 있다.


추천도서

이 포스팅은 쿠팡 파트너스 활동의 일환으로,
이에 따른 일정액의 수수료를 제공받습니다.
도서 DB 제공 : 알라딘 서점(www.aladin.co.kr)
최근 본 책