Top

The Android Developer’s Cookbook 한국어판 [완전한 예제로 배우는 안드로이드 프로그래밍]

  • 원서명The Android Developer's Cookbook: Building Applications with the Android SDK (ISBN 9780321741233)
  • 지은이제임스 스틸, 넬슨 토
  • 옮긴이장재현
  • ISBN : 9788960771833
  • 30,000원
  • 2011년 02월 23일 펴냄 (절판)
  • 페이퍼백 | 424쪽 | 188*250mm
  • 시리즈 : 모바일 프로그래밍

판매처

  • 현재 이 도서는 구매할 수 없습니다.

책 소개

『The Android Developer’s Cookbook 한국어판』은 초보 개발자가 즉시 안드로이드 애플리케이션을 개발할 수 있는 능력을 주는 책이다. 안드로이드의 기본인 액티비티부터 디버깅하는 기법까지 안드로이드 개발의 전 과정을 다룬다. 또한 장마다 빌드 가능한 완전한 형태의 풍부한 예제 코드를 실어 중급 개발자에게까지 현실적인 레퍼런스를 제공한다. 첫 번째 안드로이드 참고 서적을 고르는 중이라면 이 책이 제격이다.


[ 소개 ]

세계에서 가장 뜨겁고 빠르게 성장하는 모바일 플랫폼인 안드로이드의 애플리케이션을 만들고 싶은가? 이미 안드로이드 애플리케이션을 만들어봤지만 더 잘 만들고 싶은가? 이 책은 당신이 원하는 모든 전문 가이드와 코드를 보여줄 것이다.

『The Android Developer's Cookbook 한국어판』은 최신 버전의 안드로이드 SDK를 사용해 개발자들이 스마트폰에서부터 태블릿에 이르기까지 모든 안드로이드 기기용 앱을 만들 수 있게 도와주는 아주 유용한 자원이 될 것이다.

이미 증명된 이 책의 예제는 고급 위치 기반 서비스, 보안 기법, 성능 최적화를 위한 최고의 기초 지식을 제공한다. 이 책을 통해 기초부터 어떻게 앱을 작성할 수 있는지, 호환성을 어떻게 보장할 수 있는지, 일반적인 문제를 위한 최고의 해법을 어떻게 선택할 수 있는지, 개발 중 어려움은 어떻게 피할 수 있는지 배울 수 있다.

『The Android Developer's Cookbook 한국어판』은 전문적인 해결책과 구현에 필요한 모든 코드를 제공한다. 어떤 안드로이드 프로젝트이든 바로 시작해 훌륭하고 알찬 앱을 만들 수 있을 것이다.


[ 이 책에서 다루는 내용 ]

■ 스레드, 서비스, 리시버, 백그라운드 태스크 구현
■ 사용자 경고 제공하기
■ 사용자 인터페이스 레이아웃과 뷰 구성
■ 터치나 제스처 같은 사용자가 생성한 이벤트 관리
■ 오디오, 비디오 녹화와 재생
■ 안드로이드 기기에서 사용 가능한 하드웨어 API 이용하기
■ SMS, 웹, 소셜 네트워크를 통한 다른 기기와의 상호작용
■ SQLite와 기타 저장 장치에 효과적으로 데이터 저장하기
■ GPS 위치 데이터 접근
■ 구글 맵스 API 같은 위치 관련 서비스 이용하기
■ 네이티브 코드로 빠른 애플리케이션 만들기
■ 안드로이드 백업 관리자를 통한 백업과 복구
■ 앱 테스트와 디버깅


[ 이 책의 대상 독자 ]

안드로이드 애플리케이션을 개발하는 개발자는 모두 이 책의 독자가 될 수 있다. 이 책에서는 자바와 이클립스(Eclipse) 개발 환경에 대한 기본 지식이 있다고 가정한다. 하지만 책의 모든 부분에서 그 지식을 필요로 하지는 않는다. 자바는 모듈에 기반을 둔 언어이므로, 이 책의 대부분(모두는 아님)예제를 최소한의 수정으로 독자의 안드로이드 프로젝트에 적용할 수 있다. 각 주제는 안드로이드 학습 자료로도 사용할 수 있다.


[ 이 책의 구성 ]

1장 ‘안드로이드 소개’에서는 코드가 아닌 안드로이드 자체를 소개하고 설명한다. 예제가 없는 유일한 장이지만 유용한 배경 지식을 배울 수 있다.

2장 ‘애플리케이션의 기초: 액티비티와 인텐트’에서는 안드로이드의 4가지 구성 요소를 소개하고, 안드로이드 프로젝트를 어떻게 구축하는지 설명한다. 애플리케이션을 만드는 핵심인 액티비티에 집중한다.

3장 ‘스레드, 서비스, 리시버, 경고’에서는 스레드, 서비스, 리시버 같은 백그라운드 태스크와 경고(alert)를 사용해 백그라운드 태스크에게 알릴 수 있는 방법을 소개한다.

4장 ‘사용자 인터페이스 레이아웃’에서는 사용자 인터페이스 화면 레이아웃과 뷰(view)를 설명한다.

5장 ‘사용자 인터페이스 이벤트’에서는 터치 이벤트나 제스처 같은 사용자가 만든 이벤트를 설명한다.

6장 ‘멀티미디어 기법’에서는 오디오와 비디오 저장이나 재생 같은 멀티미디어를 다루는 방법을 다룬다.

7장 ‘하드웨어 인터페이스’에서는 안드로이드 기기에서 사용 가능한 하드웨어 API를 소개하고, 사용하는 방법을 설명한다.

8장 ‘네트워킹’에서는 SMS, 웹 브라우징, 소셜 네트워크 같이 안드로이드 기기에서 외부로 대화하는 방법을 다룬다.

9장 ‘데이터 저장 메소드’에서는 SQLite 같이 안드로이드에서 사용 가능한 여러 데이터 저장 기법을 설명한다.

10장 ‘위치 기반 서비스’에서는 GPS 같이 위치에 접근하는 방법과 구글 맵스 API 같이 위치 정보를 이용할 수 있는 서비스에 집중한다.

11장 ‘고급 안드로이드 개발’에서는 뷰를 커스터마이즈하는 방법, 더 빠른 처리를 위해 네이티브 코드를 사용하는 방법, 안드로이드 백업 매니저를 이용하는 방법 등 고급 기법을 다룬다.

12장 ‘디버깅’에서는 개발 과정에 유용한 테스트 방법과 프레임워크를 디버깅하는 방법을 다룬다.

저자/역자 소개

[ 저자 서문 ]

안드로이드는 가장 빠르게 성장하고 있는 모바일 운영체제(OS)다. 2009년에 30개(2010년에는 50개 이상 - 옮긴이)의 안드로이드 스마트폰이 출시됐고, 매달 1만 개 이상의 애플리케이션(앱)이 만들어진다. 이렇듯 안드로이드 생태계는 끊임없이 성장 중이며, 다양한 기기와 여러 무선 사업자가 안드로이드를 이용 중이다.

그 동안 안드로이드를 적용할 가장 적합한 플랫폼은 넷북이라 생각했지만 지금은 텔레비전이나 심지어는 자동차 분야로도 발전 중이다. 은행, 패스트푸드 체인, 항공사 등 세계의 여러 대기업이 안드로이드를 이용한 서비스를 제공 중이다. 안드로이드 개발자들은 큰 기회를 갖게 됐다. 좋은 앱을 전보다 많은 사람이 쓸 수 있게 됐고, 좋은 앱을 만들었을 때 만족도도 높아졌다.

안드로이드 쿡북

안드로이드 OS는 배우기 쉽다. 구글이 다양한 라이브러리를 제공하기 때문에 복잡한 애플리케이션도 쉽게 만들 수 있다. 많은 안드로이드 개발자가 말하는 유일한 단점은 명확하게 잘 설명된 문서가 없다는 점이다. 안드로이드는 오픈소스이므로, 누구나 코드를 보고 역으로 문서를 만들 수 있다. 이미 여러 개발자 게시판에 이런 방법으로 만든 훌륭한 예제들이 있다. 하지만 OS 전체에 대해 일관성 있게 설명하는 책 한 권이 더 유용하다.

덧붙이자면 잘 동작하는 예제 하나가 몇천 단어의 문서보다 더 가치 있다. 개발자들은 문제에 직면하면 보통 동작하는 해법과 가까운 예제 코드를 찾아 상황에 맞게 수정하거나 확장하는 방법을 쓴다. 또한 예제를 보고 코딩 스타일을 배울 수 있고, 예제의 도움을 받아 개발 코드의 다른 부분을 구축할 수 있다.

이 안드로이드 쿡북은 스스로 해볼 수 있는 많은 예제가 있다. 각 예제에서는 안드로이드 OS의 주요 개념을 설명한다.


[ 저자 소개 ]

제임스 스틸 (James Steele)
실리콘밸리의 한 벤처 회사에 들어갔을 때 MIT에서 물리학으로 포닥 과정 중이었다. 15년이 흐른 지금도 소비자와 모바일 시장에서 혁신적인 프로젝트를 연구 중이며 지금은 실리콘밸리의 여러 테크놀로지 그룹에서 활동 중이다.

넬슨 토 (Nelson To)
10종이 넘는 안드로이드 애플리케이션을 개발했고, 모두 안드로이드 마켓에 등록돼 있다. 또한 씽크 컴퓨터의 페이폰(PayPhone), AOL의 AIM(AOL 인스턴트 메신저), 스탠포드 대학교 교육용 앱, 로지텍(Logitech) 구글TV 같은 여러 기업용 안드로이드 애플리케이션도 개발했다. 그리고 실리콘밸리 안드로이드 개발자 커뮤니티를 조직했고, 현재 샌프란시스코 베이 에이리어와 중국에서 안드로이드를 강의하는 중이다.


[ 옮긴이의 말 ]

지난 2010년은 대한민국 스마트폰 원년이라고 불러도 될 정도로 스마트폰 시장이 빠르게 성장했습니다. 스마트폰의 성장과 함께 스마트폰에서 동작하는 애플리케이션도 기하급수적으로 늘어났습니다. 애플리케이션 성장의 뒤에는 열린 유통 구조의 앱스토어가 있습니다. 많은 개발자가 자신의 애플리케이션을 자유롭게 올리고 평가받으며, 심지어 돈까지 벌 수 있는 앱스토어에 매료됐습니다. 자연스럽게 개발자 사이에 아이폰, 안드로이드폰 개발 붐이 일었습니다. 여러분도 이런 시대의 흐름에 맞춰 안드로이드에 관심을 가져, 새로운 개발 언어와 환경을 배우기 위해 이 책을 보리라 생각합니다.

이 책에는 방대한 양의 예제가 있습니다. 대부분의 예제는 바로 동작하는 완전한 형태의 코드입니다. 저자들은 개발자를 배려해 사소한 import 구문까지 포함시켰습니다. 이 점은 기존 안드로이드 개발 관련 서적에서는 찾아볼 수 없는 부분입니다. 저자의 이런 배려는 단지 자바만 알고 있는 안드로이드 입문자도 자신감을 갖고 쉽게 접근할 수 있게 해줍니다.
하지만 이 책은 단지 입문서만은 아닙니다. 이 책은 안드로이드 애플리케이션 개발 영역 대부분을 다루므로 안드로이드에 어느 정도 익숙한 중급자도 필요할 때 참고해도 될 정도의 레퍼런스 역할도 합니다. 실제로 개발하다 막히면 개발자들이 보통 어떻게 하는지는 여러분이 가장 잘 알 것입니다. 이 책의 좋은 예제 코드를 참고하면 개발에 큰 힘이 될 것입니다.

이 책을 왜 선택하게 되셨나요? 이 책을 손에 쥐고 이 글을 읽고 있다는 것은 이미 여러분이 안드로이드 개발에 관심이 있고, 나아가 자신만의 애플리케이션을 만들어 보고 싶어서일 것입니다. 그렇다면 잘 선택하셨습니다. 이 책을 옆에 두고 안드로이드를 알아가다 보면 안드로이드 개발자의 꿈을 이룰 수 있을 것입니다. 안드로이드의 세계에 오신 여러분을 환영합니다!


[ 옮긴이 소개 ]

장재현
KAIST 전산학과와 서울대학교 컴퓨터공학과 대학원을 졸업했다. 지금은 삼성전자에 재직하며 안드로이드와 고군분투 중이다. 널리 사람들을 이롭게 하는 것이 엔지니어의 사명이라 믿으며 새로운 서비스와 제품을 구상한다. 트위터 @ELiXirrrr에서 근황을 확인할 수 있다. 옮긴 책으로 에이콘출판사에서 펴낸 『(개정판) 해킹: 공격의 예술』(2010년)이 있다.

목차

목차
  • 1장 안드로이드 소개
    • 안드로이드의 진화
    • 안드로이드의 이중성
    • 안드로이드 기기
      • HTC
      • 모토로라
      • 삼성
      • 태블릿
      • 기타 기기
    • 안드로이드 기기의 하드웨어
      • 화면
      • 사용자 입력 장치
      • 센서
    • 안드로이드의 특징
      • 멀티태스킹과 위젯
      • 터치, 제스처, 멀티터치
      • 하드 키보드, 소프트 키보드
    • 안드로이드 개발
      • 책의 예제를 사용하는 법
      • 좋은 애플리케이션 디자인
      • 상위 호환성 유지
      • 견고성
    • 소프트웨어 개발 키트
      • 설치와 업그레이드
      • 소프트웨어 기능과 API 레벨
      • 에뮬레이터와 안드로이드 디버깅
      • 안드로이드 디버그 브릿지 사용
      • 서명과 배포
    • 안드로이드 마켓
      • 사용자 라이선스 계약
      • 애플리케이션 찾기 쉽게 만들기
      • 앱 차별화
      • 과금 방법
      • 리뷰와 업데이트 관리
      • 독립 안드로이드 마켓
  • 2장 애플리케이션의 기초: 액티비티와 인텐트
    • 안드로이드 애플리케이션
      • 예제: 프로젝트와 액티비티 생성
      • 프로젝트 디렉토리 구조와 자동 생성 콘텐츠
      • 안드로이드 패키지와 Manifest 파일
      • 이름 변경
    • 액티비티 라이프사이클
      • 예제: 라이프사이클 함수 이용
      • 예제: 단일 태스크 모드로 실행
      • 예제: 화면 방향 고정
      • 예제: 액티비티 정보 저장과 복구
    • 여러 개의 액티비티
      • 예제: 버튼과 TextView 사용
      • 예제: 이벤트로 다른 액티비티 실행
      • 예제: 음성 텍스트 변환 결과를 받는 액티비티 실행
      • 예제: 선택 리스트 구현
      • 예제: 암시적 인텐트를 사용한 액티비티 생성
      • 예제: 액티비티 사이에 원시 데이터 타입 전달
  • 3장 스레드, 서비스, 리시버, 경고
    • 스레드
      • 예제: 부 스레드 실행
      • 예제: Runnable 액티비티 생성
      • 예제: 스레드의 우선순위 설정
      • 예제: 스레드 취소
      • 예제: 두 애플리케이션 간 스레드 공유
    • 스레드 간 메시지: 핸들러
      • 예제: 주 스레드의 Runnable 태스크 스케줄하기
      • 예제: 카운트다운 타이머 사용
      • 예제: 시간 소모적 초기화 조작
    • 서비스
      • 예제: 자급자족 서비스 생성
    • 브로드캐스트 리시버 추가
      • 예제: 카메라 버튼이 눌릴 때 서비스 시작
    • 앱 위젯
      • 예제: 앱 위젯 작성
    • 경고
      • 예제: Toast를 사용해 화면에 요약 메시지 출력
      • 예제: 경고 대화상자 이용
      • 예제: 상태 바에 알림 노출
  • 4장 사용자 인터페이스 레이아웃
    • 자원 디렉토리와 일반 속성
      • 예제: 다른 자원 명시
    • View와 ViewGroup
      • 예제: 이클립스 편집기에서 레이아웃 구성
      • 예제: UI 요소의 너비와 높이 제어
      • 예제: 상대적 레이아웃과 레이아웃 ID 설정
      • 예제: 프로그램에서 레이아웃 선언
      • 예제: 별도의 스레드에서 레이아웃 갱신
    • 텍스트 조작
      • 예제: 텍스트 속성 설정과 변경
      • 예제: 텍스트 입력
      • 예제: 폼 생성
    • 기타 위젯: 버튼부터 탐색 바까지
      • 예제: 테이블 레이아웃에 이미지 버튼 사용
      • 예제: 체크상자와 토글 버튼 사용
      • 예제: 라디오버튼 사용
      • 예제: 드롭다운 메뉴 작성
      • 예제: 진행 바 사용
      • 예제: 탐색 바 사용
  • 5장 사용자 인터페이스 이벤트
    • 이벤트 핸들러와 이벤트 리스너
      • 예제: 물리적 키 눌림 가로채기
      • 예제: 메뉴 제작
      • 예제: XML에서 메뉴 정의
      • 예제: 검색 키 활용
      • 예제: 터치 이벤트에 반응
      • 예제: 튕기기 제스처 처리
      • 예제: 멀티터치 이용
    • 고급 사용자 인터페이스 라이브러리
      • 예제: 제스처 이용
      • 예제: 3D 이미지 그리기
  • 6장 멀티미디어 기법
    • 이미지
      • 예제: 이미지 로딩
    • 오디오
      • 예제: 오디오 파일 선택과 재생
      • 예제: 오디오 파일 녹음
      • 예제: 로 오디오 조작
      • 예제: 사운드 자원의 효율적 사용
      • 예제: 미디어 추가와 경로 갱신
    • 비디오
  • 7장 하드웨어 인터페이스
    • 카메라
      • 예제: 카메라 제어
    • 기타 센서
      • 예제: 기기의 회전 찾아내기
      • 예제: 온도 센서와 조도 센서 이용
    • 전화
      • 예제: 전화 매니저 이용
      • 예제: 폰 상태 듣기
      • 예제: 전화번호 누르기
    • 블루투스
      • 예제: 블루투스 켜기
      • 예제: 블루투스 기기 검색
      • 예제: 묶인 블루투스 기기와 페어링
      • 예제: 블루투스 소켓 열기
      • 예제: 진동 이용
      • 예제: 무선 네트워크 접속
  • 8장 네트워킹
    • SMS 사용
      • 예제: 수신 SMS에 SMS 자동 응답
    • 웹 콘텐츠 사용
      • 예제: 웹 브라우저 커스터마이징
      • 예제: HTTP GET 이용
      • 예제: HTTP POST 이용
    • 소셜 네트워크
      • 예제: 트위터와 통합
  • 9장 데이터 저장 메소드
    • 공유 설정
      • 예제: 공유 설정 생성과 검색
      • 예제: 설정 프레임워크 이용
      • 예제: 저장된 데이터를 기반으로 UI 변경
      • 예제: EULA 추가
    • SQLite 데이터베이스
      • 예제: 별도의 데이터베이스 패키지 생성
      • 예제: 별도의 데이터베이스 패키지 이용
      • 예제: 개인 다이어리 제작
    • 콘텐트 프로바이더
      • 예제: 콘텐트 프로바이더 제작
    • 파일 저장하기/불러오기
  • 10장 위치 기반 서비스
    • 위치
      • 예제: 최근 위치 찾기
      • 예제: 변화에 따라 위치 갱신
      • 예제: 모든 가능한 제공자 목록 구하기
      • 예제: 위치를 주소로 변환(역지오코딩)
      • 예제: 주소를 위치로 변환(지오코딩)
    • 구글 맵스 이용
      • 예제: 구글 맵스 애플리케이션에 추가
      • 예제: 지도에 마커 추가
      • 예제: 지도에 뷰 추가
      • 예제: 기기의 현재 위치를 지도에 표시
      • 예제: 근접 경고 설정
  • 11장 고급 안드로이드 개발
    • 안드로이드 커스텀 뷰
      • 예제: 버튼 수정
    • 안드로이드 네이티브 구성 요소
      • 예제: 네이티브 구성 요소 개발
    • 안드로이드 보안
      • 예제: 권한 선언과 부여
    • 안드로이드 프로세스 간 통신
      • 예제: 원격 프로시저 호출 구현
    • 안드로이드 백업 관리자
      • 예제: 런타임 데이터 백업
      • 예제: 클라우드에 파일 백업
      • 예제: 백업과 복구 시작
    • 안드로이드 애니메이션
      • 예제: 애니메이션 작성
  • 12장 디버깅
    • 이클립스 내장 디버깅 툴
      • 예제: 실행 환경 설정
      • 예제: DDMS 사용
      • 예제: 중단점으로 디버깅
    • 안드로이드 SDK 디버깅 툴
      • 예제: 안드로이드 디버그 브릿지 이용
      • 예제: LogCat 이용
      • 예제: 계층 뷰어 사용
      • 예제: TraceView 이용
    • 안드로이드 시스템 디버그 툴

도서 오류 신고

도서 오류 신고

에이콘출판사에 관심을 가져 주셔서 고맙습니다. 도서의 오탈자 정보를 알려주시면 다음 개정판 인쇄 시 반영하겠습니다.

오탈자 정보는 다음과 같이 입력해 주시면 됩니다.

(예시) p.100 아래에서 3행 : '몇일'동안 -> 며칠동안