Top

(개정판) 알짜만 골라 배우는 안드로이드 프로그래밍 2

  • 원서명Beginning Android 2 (ISBN 9781430226291)
  • 지은이마크 머피
  • 옮긴이강철구
  • ISBN : 9788960771475
  • 30,000원
  • 2010년 08월 12일 펴냄 (절판)
  • 페이퍼백 | 556쪽 | 185*235mm
  • 시리즈 : 모바일 프로그래밍

판매처

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

책 소개

이 책은 안드로이드 2 환경에서 애플리케이션을 개발하고 고급 애플리케이션 개발 단계로 쉽게 넘어가도록 돕는 데 목표를 뒀다. 달라진 안드로이드 2 환경의 기본적인 부분에 대한 설명을 읽으면서, 완벽하게 동작하는 예제를 간편하게 돌려볼 수 있다. 또한 예제 코드를 기반으로 책에서 설명하는 다양한 클래스와 API를 실행해 보면서 새로운 안드로이드 버전에 좀 더 빠르게 적응할 수 있을 것이다.


[ 소개 ]

안드로이드 세계에 발을 담근 독자 여러분을 환영한다. 이미 알고 있는 것처럼 안드로이드는 굉장히 빠르게 발전하는 중이다. 최근 안드로이드 2.2 버전이 발표됐고, 여러 제조 업체에서 다양한 안드로이드 기기를 계속해서 출시하고 있다. 이미 시장에는 수백만 대의 안드로이드 기기가 판매된 것으로 추정되며 지금도 쉴 새 없이 팔리고 있다. 최신 안드로이드 환경에 빨리 진입할수록 관련 시장이 성장하는 데 맞춰 함께 발전할 수 있다.

안드로이드 2 내용을 업데이트한 개정판으로 다시 찾아온 이 책을 선택해준 데 깊이 감사한다. 이 책은 안드로이드 2 환경에서 애플리케이션을 개발하고 고급 애플리케이션 개발 단계로 쉽게 넘어가도록 돕는 데 목표를 뒀다. 안드로이드는 필요한 기능을 이미 충분히 갖추고 있으며 안드로이드가 제공하는 다양한 기능을 통해 상상에서나 나올 법한 멋지고 특별한 애플리케이션을 얼마든지 작성할 수 있다.

안드로이드 2는 안드로이드 역사상 가장 중요한 버전의 하나라고 볼 수 있으며, 따라서 안드로이드 2 환경에 완벽하게 적응할 수 있도록 초기에 방향을 잘 잡아야 한다. 이 책에서는 안드로이드로 할 수 있는 일에 대해 알아보고, 이런 기능을 모아 실제로 구현해내는 방법을 보여준다. 기초를 단단하게 다지고 나서 그저 약간의 시간과 창의성만 있으면 유용하고 인기 있는 프로그램을 얼마든지 만들 수 있다.

저자/역자 소개

[ 저자 소개 ]

마크 머피
커먼즈웨어(CommonsWare)를 설립하고 『The Busy Coder’s Guide to Android Development』를 저술했다. 세 번째 회사를 경영하면서 오픈 소스 관련 컨설팅과 대기업을 대상으로 협업 개발도 진행하고 있으며, 각종 하드웨어에서 동작하는 애플리케이션을 다수 개발했다. 초기 TRS-80 기기부터 최신 휴대용 장비까지 다루면서 25년 이상 소프트웨어 개발자로 일했다. 또한 여러 나라에서 개최된 다양한 컨퍼런스에서 발표와 교육 세션 등을 진행한 유능한 강연자로 알려져 있다. 안드로이드가이즈(AndroidGuys)에 ‘Building Droids’라는 컬럼을, 네트웍월드(NetworkWorld)에 ‘Android Angle’이라는 안드로이드 관련 컬럼을 연재한다.


[ 개정판 옮긴이의 말 ]

『알짜만 골라 배우는 안드로이드 프로그래밍』이 처음 출간된 지 1년이 다 되어 갑니다. 그간 안드로이드 SDK는 2.0을 거쳐 최근 2.2 버전까지 발전한 상태입니다. 여러 가지 기능도 많이 추가되고 성능도 굉장히 높아졌습니다. 안드로이드를 탑재한 단말기도 구글의 넥서스원을 비롯해 삼성의 갤럭시S까지 선택의 폭이 넓어지고 있습니다. 2010년 연말에는 3.0 버전의 SDK가 발표된다는 예상도 있습니다만, 안드로이드 개발을 시작해야 할 시점은 바로 지금입니다. 『알짜만 골라 배우는 안드로이드 프로그래밍 2』는 자바 개발자가 가장 빠르게 안드로이드 환경에 적응하고 개발할 수 있도록 도와줍니다. 안드로이드의 주요 기능을 간략한 예제로 알기 쉽게 설명하며, 대부분 예제는 몇 분 정도만 코드를 작성하면 충분히 실행할 수 있습니다. 새로운 버전의 SDK에 대응해 함께 발전한 개정판 『알짜만 골라 배우는 안드로이드 프로그래밍 2』과 함께 모바일 환경에서 앞서 나가시기 바랍니다.


[ 1판 옮긴이의 말 ]

그야말로 스마트폰과 모바일 애플리케이션의 전성기가 시작되는 요즘이다. 그동안 스마트폰이라고 부르는 휴대폰은 많이 나왔었지만 그저 하드웨어 성능이 좋았을 뿐이었는데, 애플의 아이폰을 선두로 스마트폰이 정말 똑똑해지고 있다. 또한 아이폰과 앱스토어에서 벌어지는 성공 신화는 벌써 헤아리기 어려울 수준에 이르렀다. 하지만 아이폰은 애플의 독자 플랫폼이며 오브젝티브C라는 언어를 알아야 하는 등 여러 가지 어려움이 있었다. 반면 그 뒤를 따르는 안드로이드 플랫폼은 아이폰이 갖고 있던 단점을 상당 부분 해소하고 있다. 바닥부터 오픈 소스로 공개되어 있으며, 여러 하드웨어 업체에서 안드로이드를 탑재한 기기를 생산하거나 생산할 예정이다. 더군다나 안드로이드에서 동작하는 애플리케이션은 요즘 가장 많이 사용되는 언어인 자바로 프로그램할 수 있으니 금상첨화다.

국내에서는 안드로이드 기반 휴대폰이 아직 출시되지 않았지만, 안드로이드를 활용하고자 하는 업체와 개발자는 엄청나게 늘어나고 있다. 대기업은 안드로이드 휴대폰 단말기를 외국에 출시해 판매하고 있고, 안드로이드 기반 게임기 등을 준비 중인 업체도 있고, 뜻있는 개발자가 모여 벤처 업체를 창업하기도 한다. 플래시/플렉스를 개발하던 개발자도, 방송 관련 일을 하던 개발자도, 회계 프로그램을 만들던 개발자도, GIS 일을 하던 개발자도 모두 안드로이드에 뛰어들고 있다. 특히 국내에는 자바 개발자 기반이 넓기 때문에 안드로이드가 더 빨리 대중화될 수 있으리라 생각된다.

안드로이드는 데스크탑 환경에서 사용자 인터페이스를 개발해본 경험이 있는 개발자라면 굉장히 쉽게 접근할 수 있다. 대신 AWT, 스윙, SWT 등의 사용자 인터페이스 프레임웍이 아닌 안드로이드만의 인터페이스 프레임웍을 사용해야 하기 때문에 적응 기간이 필요한 건 사실이다. 이 책 『알짜만 골라 배우는 안드로이드 프로그래밍』은 이런 적응 기간을 최대한 줄일 수 있도록 대표적인 기능을 모아 예제와 함께 소개한다. 물론 이 책에서 미처 다루지 못한 고급 개발 관련 내용도 굉장히 많지만, 일단 이 책을 보고 나면 웬만한 개인용 또는 기업용 애플리케이션 정도는 어렵지 않게 개발할 수 있으리라고 본다. 예를 들어 웹 페이지로 제공되던 POS 또는 매출 관리 프로그램 화면을 안드로이드 버전으로 제공한다면, 안드로이드 기반 휴대폰을 통해 어디에서건 자신의 매장과 매출을 쉽게 조회할 수 있어 파급 효과가 크지 않을까. 물론 지금도 WML 또는 일부 풀브라우징이 가능한 휴대폰으로 서비스가 가능하겠지만, 웹페이지가 아닌 전용 애플리케이션으로 제공되는 인터페이스의 편리함과 명확함을 따라오기는 쉽지 않다고 본다.

또한 안드로이드 애플리케이션은 크기가 작은 만큼 대기업에서 규모 있는 애플리케이션을 만들기보다는, 한두 명 정도의 개발자와 디자이너가 모여 상상력이 톡톡 튀는 기능을 구현하기에 적당하다. 또한 안드로이드 마켓 등을 통해 소비자와 직접 연결되어 판매가 가능하기 때문에 개인 또는 소규모 팀에게 더할 나위 없는 기회가 아닐 수 없다. 하루 빨리 국내에도 다양한 안드로이드 단말기가 출시되고, 기업에서 생각지도 못했던 상상력을 동원한 멋진 애플리케이션을 많이 볼 수 있기를 기원한다.


[ 옮긴이 소개 ]

강철구
컴퓨터 비전(영상 인식)을 전공했고 검색 엔진, 인공 지능, 모바일 등의 키워드에 관심이 많다. 현재는 루씬을 이용한 검색 솔루션과 플랫폼을 개발하는 중이며, 관심사와 관련된 새롭고 재미있는 비즈니스를 준비하고 있다. 에이콘출판사에서 출간한 『루씬 인 액션』(2005)과 『Ajax 인 액션』(2006), 『자바 병렬 프로그래밍』(2008) , 『알짜만 골라 배우는 안드로이드 프로그래밍』(2009), 『아이폰북』(2009)을 번역했다.

목차

목차
  • 1장 개요
    • 안드로이드 프로그램 구조
      • 액티비티
      • 컨텐트 프로바이더
      • 서비스
      • 인텐트
    • 사용 가능한 구성 요소
      • 데이터 보관
      • 네트웍
      • 멀티미디어
      • GPS
      • 전화 서비스
    • 개발환경 준비
      • 안드로이드 SDK 설치
      • 개발환경 설정
      • 이클립스 플러그인 설치
      • 안드로이드 가상 기기 생성
  • 2장 프로젝트와 타겟
    • 필요한 작업
    • 프로젝트 생성
    • 프로젝트 구조
      • 루트 디렉토리
      • 생성되는 내용
      • 그 밖의 디렉토리
      • 결과로 얻는 내용
    • 매니페스트 파일
      • 루트 엘리먼트
      • 권한, 기본 연동 요소, 애플리케이션
      • 애플리케이션 엘리먼트
      • SDK 버전
      • 버전=컨트롤
    • 에뮬레이터와 타겟
      • 가상 장비
      • 타겟 지정
  • 3장 애플리케이션 작성
    • 프로젝트 생성
    • 액티비티 분석
    • 빌드와 실행
  • 4장 XML 레이아웃
    • XML 기반 레이아웃
    • XML로 레이아웃을 지정하는 이유
    • XML 레이아웃 파일 구조
    • 엘리먼트 ID
    • 자바 코드와 연결하는 방법
    • 종합정리
  • 5장 기본 위젯
    • 레이블
    • 버튼
    • 이미지
    • 입력 필드
    • 체크 박스
    • 라디오 버튼
      • 유용한 속성
      • 유용한 메소드
      • 색깔
  • 6장 컨테이너
    • LinearLayout
      • 개념과 속성
      • LinearLayout 예제
    • RelativeLayout
      • 개념과 속성
      • RelativeLayout 예제
    • TableLayout
      • 개념과 속성
      • TableLayout 예제
    • 스크롤
  • 7장 선택 기능 위젯
    • 공통의 인터페이스 어댑터
    • 리스트 예제
    • 스핀 컨트롤
    • 그리드
    • 입력 필드: 자동 완성
    • 갤러리
  • 8장 리스트 고급 활용
    • 가장 간단한 작업
    • 동적인 내용
    • 성능 개선
      • convertView 활용
      • 홀더 패턴
    • 원하는 대로 만들기
    • 코드 리팩토링
    • CursorAdapter
  • 9장 고급 위젯과 컨테이너
    • 날짜, 색상 선택
    • 시계
    • 진행상태 표시
    • 입력 슬라이더
      • 탭 구성 요소
      • 주의할 점
      • 연결과 탭 완성
      • 동적으로 탭 추가
      • 인텐트와 뷰
    • 플리퍼
      • 수동 넘김
      • 동적으로 내용 추가
      • 자동 넘김
    • 슬라이딩 서랍
    • 그 밖의 위젯
  • 10장 입력 방식 프레임웍
    • 키보드의 종류
    • 커스터마이징
    • 입력 완료 버튼
    • 레이아웃 조정
    • 드보락 키보드
  • 11장 메뉴
    • 메뉴 종류
      • 옵션 메뉴
      • 메뉴 항목, 서브메뉴 추가
    • 컨텍스트 메뉴
    • 메뉴 예제
    • 메뉴 인플레이션
      • 메뉴 XML의 구조
      • 메뉴 관련 속성
      • 메뉴 인플레이션
  • 12장 글꼴
    • 기본 포함 글꼴
    • 추가 글꼴
    • 특이한 글자
  • 13장 웹킷 브라우저
    • 단순한 브라우저
    • 원하는 내용 표시
    • 브라우저 내비게이션
    • WebViewClient
    • 설정과 옵션
  • 14장 팝업 메시지
    • 토스트
    • 경고창
    • 팝업 메시지 예제
  • 15장 스레드
    • Handler 객체
      • Message 객체
      • Runnable 객체
    • Handler 없이 실행
    • 사용자 인터페이스 스레드
    • 비동기 작업
      • 이론적 배경
      • AsyncTask, 제네릭, 가변 인자
      • AsyncTask 구조
      • 백그라운드 작업 예제
    • 주의해야 할 점
  • 16장 액티비티 생명주기
    • 액티비티 상태
    • 액티비티 생명주기
      • onCreate(), onDestroy()
      • onStart(), onRestart(), onStop()
      • onPause(), onResume()
    • 부드러운 상태 변화
  • 17장 인텐트 필터
    • 인텐트
      • 인텐트 구조
      • 인텐트 라우팅
    • 인텐트 생성
    • 인텐트 리시버
    • 일시정지 문제
  • 18장 액티비티 실행
    • 액티비티 종류
    • 실행
      • 인텐트 작성
      • 호출
    • 탭 브라우징
  • 19장 화면 회전
    • 종료 및 재시작
    • 가로보기, 세로보기
    • 더 많은 정보 보관
    • 직접 처리하는 회전 작업
    • 화면 고정
    • 가속도계만 사용
  • 20장 리소스
    • 리소스의 종류
    • 문자열
      • 일반 문자열
      • 문자열 포매팅
      • 화면 표시 스타일
      • 스타일이 적용된 포매팅
    • 이미지
    • XML
    • 기타 리소스
      • 크기
      • 색깔
      • 배열
    • 환경에 맞는 리소스 선택
  • 21장 환경설정
    • 원하는 값 추출
    • 환경설정 관리
    • 환경설정 XML
    • 환경설정 기능 제공
    • 모양새 갖추기
    • 환경설정 팝업
  • 22장 로컬 데이터베이스
    • 데이터베이스 예제
    • SQLite
    • 기초
    • 테이블 준비
    • 데이터 추가
    • 데이터 불러오기
    • 데이터 직접 다루기
  • 23장 파일
    • 고정된 파일
    • 읽고 쓰기
  • 24장 외부 자바 라이브러리
    • 제한 사항
    • Ant와 JAR
    • 스크립트 활용
    • 기타 사항
    • 스크립트 리뷰
  • 25장 인터넷 연결
    • REST
    • 기본 HTTP 작업
    • 응답 분석
    • 고려 사항
  • 26장 컨텐트 프로바이더
    • Uri 구성
    • Uri 생성
    • 쿼리 실행
    • 데이터 자동 적용
    • 데이터 추가와 변경
    • BLOB 문제
  • 27장 컨텐트 프로바이더 구현
    • 내부 구성 요소
    • 데이터 타입
    • 컨텐트 프로바이더 작성
      • 1단계: 컨텐트 프로바이더 클래스 생성
      • 2단계: Uri 지정
      • 3단계: 속성 정의
      • 4단계: 매니페스트 설정
    • 변경 사항 알림
  • 28장 권한
    • 권한 확보
    • 권한 요청
      • AndroidManifest.xml 파일에 권한 명시
      • 그 밖의 권한 요청 방법
    • 자세한 문서와 설명
  • 29장 서비스 구현
    • 서비스 클래스
    • 서비스 인스턴스
    • AndroidManifest.xml
    • IPC 클라이언트 호출
      • 콜백
      • 인텐트 브로드캐스트
    • 원격 서비스, 프로그램의 나머지 부분
  • 30장 서비스 호출
    • 바인딩
    • 데이터 수신
  • 31장 사용자 알림
    • 알림 메시지 종류
      • 기기 알림 메시지
      • 아이콘
    • 알림 메시지 예제
  • 32장 위치 기반 서비스
    • 위치 정보 프로바이더
    • 위치 확인
    • 변경 사항 업데이트
    • 목표 지점 도착 알림
    • 테스트
  • 33장 지도, MapView, MapActivity
    • 구글 지도 사용권 계약
    • SDK 애드온
    • 구글 지도 기초
    • 지도 제어 기능
      • 확대/축소 배율
      • 중심 이동
    • 위성 사진 지도
    • 레이어
      • 오버레이 클래스
      • ItemizedOverlay 표시
      • 화면 터치 처리
    • 현재 위치와 방향
    • API 키 발급
  • 34장 전화
    • TelephonyManager
    • 전화 걸기
  • 35장 개발 도구
    • 계층 탐색기
    • 달빅 디버깅
      • 로그
      • 파일 업로드, 다운로드
      • 화면 캡처
      • 위치 지정
      • 전화 걸기, SMS 발송
    • SD카드
      • SD카드 이미지 생성
      • SD카드 삽입
  • 36장 다양한 화면 크기
    • 기본 화면 크기
    • 화면 크기별 대응
      • 위치보다는 규칙
      • 물리적인 크기
      • 픽셀 이외의 단위
      • 그림 크기
    • 기기별 레이아웃
      • <supports-screens>
      • 리소스, 리소스 집합
      • 화면 크기 파악
    • 해상도와 실제 크기
      • 해상도 문제
      • 해상도 조절
      • 실제 기기 접속
    • 레이아웃 변경
      • 메뉴 대신 버튼
      • 탭 대신 액티비티
      • 액티비티 통합
    • 예제: EU4You
      • 첫 번째 버전
      • 아이콘 문제 해결
      • 빈 공간 활용
      • 레이아웃 재사용
    • 화면 크기 관련 버그
  • 37장 기기별 차이점
    • 명시적인 대응
    • 버튼 확인
    • 시장 규모
    • 기기별 차이점
      • Archos 5 안드로이드 인터넷 태블릿
      • 모토로라 CLIQ/DEXT
      • 모토로라 드로이드/마일스톤
      • 구글/HTC 넥서스원
      • 모토로라 백플립
  • 38장 플랫폼 업그레이드
    • 브랜드 관리
    • 그 외의 문제
      • 위젯 계층 구조
      • 리소스 변경
    • API 변경
      • 운영체제 버전 확인
      • API 감싸기
  • 39장 안드로이드 관련 정보 얻기
    • 질문과 대답
    • 안드로이드 소스 코드

도서 오류 신고

도서 오류 신고

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

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

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

정오표

 1쇄 오류/오탈자 

[ p238 마지막 행 ]
넘겨받은 메소드 → 넘겨받은 메시지

[ p239 4행, 7행 ]
넘겨받은 메소드 → 넘겨받은 메시지