가입하고 포인트 받기
안드로이드 프로그래밍 정복 1 (4.2 젤리빈에 맞춰 다시 집필한)
김상형 지음
한빛미디어
 펴냄
35,000 원
31,500원 
앱에서 포인트받고 구매
1048쪽 | 2013-04-01
분량 두꺼운책 | 난이도 보통인책
상세 정보
<안드로이드 프로그래밍 정복>의 세 번째 판. 3판은 3.0 허니콤에서 추가된 모든 기능을 포괄하고 4.2 버전의 젤리빈을 기준으로, 새 버전의 기능과 예제를 거의 대부분 추가했으며 기존 내용은 예제와 설명을 보강했다. 모든 예제는 4.1 및 4.2 버전에서 이상 없이 컴파일되도록 수정하였고 에뮬레이터와 2013년 3월 현재 발표된 모든 실장비에서 테스트했다.<BR> <BR> 이 책은 안드로이드 앱 개발에 관한 모든 것을 다룬다. 안드로이드의 역사와 구조, 개발 환경 설치, 레이아웃을 통한 UI 디자인, 이벤트 처리 등을 단계적으로 설명하고 핵심 예제로 실습을 유도하여 혼자서도 안드로이드 개발의 전반적인 절차를 익힐 수 있는 친절한 자습서 형식으로 되어 있다. 프로그래밍 입문서는 아니므로 이 책을 읽기 위해서는 안드로이드의 기본 언어인 자바 문법에 대해 선행 학습이 되어 있어야 하며 알고리즘이나 자료 구조 등의 일반적인 프로그래밍 기법도 알고 있다고 가정한다. <BR> <BR> 중반 이후에는 안드로이드의 각종 위젯, 리소스 구조, 앱을 구성하는 주요 요소 등 실무 개발에 필요한 고급 기법을 체계적으로 정리하여 레퍼런스로도 손색이 없도록 구성하였으며 후반부에는 맵서비스, 멀티미디어, 전화, 센서, 앱위젯 등의 응용 기법을 소개한다. 초반부는 입문자가 책을 읽는 순서를 고려하여 우선 순위에 따라 실습을 진행하므로 목차를 따라 꼼꼼하게 책을 읽고 실습하시는 것이 좋다. 중반 이후의 실무 주제는 순서가 따로 없으므로 필요한 부분을 골라 읽으면 된다.
더보기
목차

『안드로이드 프로그래밍 정복 3판, 1권』 목차
1장. 안드로이드
모바일 운영체제의 일반적인 특징과 안드로이드의 주요 특징 및 전체적인 아키텍처를 소개한다. 안드로이드의 버전별 추가 기능에 대해 알아 보고 그 발전 과정을 정리한다.
__1.1 스마트폰
__1.2 안드로이드
__1.3 안드로이드의 역사

2장. 개발 툴 설치
안드로이드 학습을 위한 개발툴을 설치하며 원활한 실습을 위한 환경 설정 방법과 업그레이드 및 재설치 방법을 알아 본다. 리눅스와 매킨토시에서의 개발툴 설치 방법도 소개한다.
__2.1 개발툴 설치
__2.2 설치 고급

3장. 첫 번째 예제
첫 번째 안드로이드 예제를 작성하고 예제 작성 절차와 에러에 대한 대처 방법을 학습한다. 마법사가 생성하는 프로젝트의 구조를 분석해 보고 안드로이드 프로젝트의 관리 방법을 실습한다. 또한 이후의 원활한 학습과 개발을 위한 툴 사용 방법 및 예제 컴파일 방법, 도움말을 구하는 방법을 소개한다.
__3.1 무작정 만들어 보기
__3.2 프로젝트 분석
__3.3 실습 준비

4장. 뷰
안드로이드는 화면에 직접 출력하는 대신 레이아웃과 뷰를 통해 UI를 구성한다. 이 장에서는 안드로이드의 화면을 채우는 가장 기본적인 요소인 뷰의 일반적인 특징에 대해 소개하고 대표적인 몇 가지 위젯의 상세한 속성을 실습한다. 또한 배포 예제의 형식과 사용 방법을 설명한다.
__4.1 뷰와 뷰그릅
__4.2 기본 위젯
__4.3 배포 예제

5장. 레이아웃
리니어를 통해 레이아웃을 배치하는 방법과 차일드 뷰를 배치하는 방법에 대해 학습하고 그외 레이아웃을 소개한다. 안드로이드의 UI를 구성하는 가장 기본적이면서도 중요한 실습이다.
__5.1 레니어 레이아웃
__5.2 렐러티브 레이아웃
__5.3 기타 레이아웃

6장. 레이아웃 관리
레이아웃을 관리하는 고급 기법과 레이아웃 파라미터에 대해 실습한다. 또한 새로 추가된 그리드 레이아웃을 활용하는 방법에 대해 연구한다. 이 장을 통해 각 레이아웃의 상세한 사용 방법과 레이아웃을 조합한 응용 방법을 터득할 수 있다.
__6.1 레이아웃 관리
__6.2 레이아웃 파라미터
__6.3 그리드 레이아웃

7장. 출력
이 장에서는 Canvas와 Paint 객체를 통해 화면에 원하는 도형을 그리고 속성을 변경하는 기본적인 방법과 셰이더를 이용한 고급 채색 방법에 대해 소개한다. 또한 토스트로 메시지를 출력하는 방법과 스피커를 통해 소리를 출력하는 방법, 진동을 출력하는 방법에 대해서도 알아본다.
__7.1 캔버스
__7.2 그리기 객체
__7.3 셰이더
__7.4 그 외의 출력

8장. 이벤트
GUI 운영체제는 이벤트를 받아 동작한다. 이 장에서는 이벤트를 처리하는 여러 가지 형식과 각 형식의 장단점에 대해 상세하게 연구하고 기본적인 이벤트에 대한 실습을 한다. 사용자의 입력을 자유자재로 처리하기 위해서 반드시 습득해야 하는 중요한 기술이다.
__8.1 이벤트 핸들러
__8.2 여러 가지 이벤트

9장. 메뉴
메뉴는 사용자의 명령을 받아들이는 가장 기본적인 장치이다. 옵션 메뉴와 컨텍스트 메뉴를 작성 및 출력하고 메뉴를 통해 프로그램의 현재 상태를 표시할 수 있다.
__9.1 메뉴
__9.2 메뉴의 편집

10장. 개발 환경
중간 규모의 기억력 게임을 분석해 봄으로써 지금까지 배운 내용을 총정리하며 개발툴에 대한 고급 사용법을 익힌다. 이 장까지가 안드로이드의 기초에 해당한다.
__10.1 실습 예제
__10.2 개발툴

11장. 기본 위젯
사용자를 직접적으로 대면하는 위젯은 안드로이드의 UI를 구성하는 부품이다. 가장 기본적인 위젯인 TextView를 통해 위젯의 일반적인 특징과 프로그래밍 방법을 상세하게 연구해 보고 버튼의 사용 방법을 익힌다. 이 장을 통해 안드로이드 위젯의 계층 구조와 보편적인 특성을 익힐 수 있다.
__11.1 리소스
__11.2 텍스트뷰
__11.3 버튼
__11.4 이미지뷰

12장. 어댑터뷰
어댑터로부터 데이터를 공급 받아 화면에 출력하는 리스트뷰, 스피너 등의 고급 위젯 사용 방법을 소개한다. 어댑터뷰로 대량의 정보를 화면에 출력하고 관리한다
__12.1 리스트뷰
__12.2 항목 뷰
__12.3 어댑터뷰

13장. 고급 위젯
작업 단계를 표시하거나 입력받는 프로그래스바, 시크바 등을 연구한다. 시간, 날짜를 보여 주거나 입력받는 위젯, 기타 고급 위젯을 소개하고 위젯을 이용한 종합 실습 예제로 스포츠 경기 점수판 프로젝트를 분석한다. 최신 SDK에 새로 추가된 위젯에 대해서도 요약적으로 설명한다.
__13.1 프로그래스바
__13.2 날짜와 시간
__13.3 기타 위젯
__13.4 추가 위젯

14장. 커스텀 위젯
기존 위젯을 변경하여 실제 프로젝트에 바로 사용할 수 있는 커스텀 위젯을 제작하는 방법을 익힌다. 위젯이 상위의 뷰그룹과 통신하는 방법을 연구해 볼 수 있으며 커스텀 속성을 통해 위젯의 활용성을 높이는 방법에 대해서도 알아본다.
__14.1 기존 위젯 변형
__14.2 새로운 위젯

15장. 리소스 관리
안드로이드는 다양한 화면 크기와 밀도를 지원한다. 이 장에서는 장비 호환성을 확보하기 위한 대체 리소스 작성법과 화면 다양성에 대처하는 방법을 학습한다.
__15.1 대체 리소스
__15.2 화면 다양성
__15.3 화면 크기

16장. 대화상자
대화상자는 사용자와 통신하는 장치이다. 이 장에서는 사용자에게 메시지를 전달하는 방법, 사용자에게 질문을 하고 응답 결과에 따라 프로그램의 동작을 결정하는 방법 등을 익힌다.
__16.1 AlertDialog
__16.2 대화상자 활용
__16.3 대화상자 고급

17장. 액티비티
안드로이드의 화면 하나는 액티비티로 구성되며 액티비티는 안드로이드 응용 프로그램을 구성하는 가장 중요한 컴포넌트이다. 인텐트를 통해 액티비티끼리 통신하는 방법과 액티비티의 생명 주기를 관리함으로써 상태를 저장하는 방법에 대해 연구해 본다.
__17.1 액티비티
__17.2 생명 주기
__17.3 복잡한 액티비티

18장. 프로세스
액티비티보다 상위의 개념인 태스크 개념과 태스크를 관리하는 고급 속성, 인텐트의 플래그 등을 연구한다. 액티비티 하위의 윈도우를 응용하는 여러 가지 고급 기법도 소개한다.
__18.1 프로세스
__18.2 Window
__18.3 패키지 관리

19장. 스레드
안드로이드는 멀티 스레드를 지원하는 운영체제이다. 이 장에서는 스레드를 생성하는 방법과 핸들러를 통해 스레드끼리 통신하는 방법 등을 소개하고 스레드를 활용하여 작업을 스케줄링하고 ANR을 회피하는 방법에 대해서 연구해 본다.
__19.1 스레드
__19.2 스레드의 활용


『안드로이드 프로그래밍 정복 3판, 2권』 목차

20장. 프래그먼트
프래그먼트는 액티비티의 화면을 분할하여 재사용 가능한 뷰그룹을 정의하는 기법이다. 프래그먼트로 뷰그룹을 구성하면 하나의 소스로 핸드셋과 태블릿을 동시에 지원하는 앱을 작성할 수 있다.
__20.1 프래그먼트
__20.2 프래그먼트 관리
__20.3 프래그먼트 활용

21장. 액션바
액션바는 이전 버전의 메뉴를 대체하여 자주 사용하는 명령을 타이틀 바에 배치하여 접근성을 높이는 방법이다. 명령 외에 액션 뷰를 배치할 수도 있으며 내비게이션 기능을 제공하기도 한다.
__21.1 액션바
__21.2 액션바 활용

22장. 그리기
필터로 여러 가지 효과를 구현하는 방법과 좌표 공간을 조작함으로써 출력을 원하는 대로 조작하는 변환 기법을 소개한다. 서피스 뷰는 백그라운드 스레드에서 그리기를 수행함으로써 출력 품질을 극적으로 향상시키는 기법이다.
__22.1 필터
__22.2 변환
__22.3 SurfaceView

23장. 애니메이션
애니메이션으로 동적인 화면을 구성하는 방법을 소개한다. 레이아웃 애니메이션은 리스트뷰의 개별 항목을 애니메이션하는 기법이다.
__23.1 애니메이션
__23.2 레이아웃 애니메이션

24장. 속성 애니메이션
허니콤에서 새로 추가된 속성 애니메이션 방법을 소개한다. 임의의 속성값에 대해 애니메이션을 적용함으로써 활용 범위가 훨씬 더 넓어질 수 있다.
__24.1 속성 애니메이션

25장. 파일
프로그램이 생성한 데이터를 영구적으로 저장하는 기술을 소개한다. 대용량의 정보는 파일에 저장하며 설정 상태 등의 정보는 프레퍼런스에 영구 저장한다. 자주 변경되는 정보는 SQLite 데이터베이스에 저장하며 CP를 통해 다른 응용 프로그램과 정보를 공유하는 방법에 대해서도 연구해 본다.
__25.1 파일 입출력
__25.2 파일 관리
__25.3 프레퍼런스

26장. CP
SQLite 데이터베이스에 정보를 영구적으로 저장 및 관리하는 방법을 소개한다. CP를 통해 다른 응용 프로그램과 정보를 공유하는 방법에 대해서도 연구해 본다.
__26.1 SQLite
__26.2 CP

27장. 클립보드
모바일 네트워크를 통해 웹 서버나 웹 서비스에 접속하여 통신하는 방법을 알아 본다. 웹 통신의 기본 포맷인 XML을 파싱하여 정보를 추출하는 방법에 대해서도 연구해 본다.
__27.1 클립보드
__27.2 드래그 & 드롭

28장. 네트워크
모바일 네트워크를 통해 웹 서버나 웹 서비스에 접속하여 통신하는 방법을 알아 본다. 웹 통신의 기본 포맷인 XML을 파싱하여 정보를 추출하는 방법에 대해서도 연구해 본다.
__28.1 인터넷
__28.2 네트워크 활용
__28.3 XML

29장. BR
백그라운드에서 실행되는 서비스와 통지, BR 등에서 사용자에게 알림을 보낼 수 있는 여러 가지 방법에 대해 알아 보고 앱 사이의 공식적인 통신 방법인 BR 제작을 실습한다.
__29.1 통지
__29.2 BR

30장. 서비스
서비스는 사용자와 상호작용 없이 백그라운드에서 지속적으로 실행되는 구성요소이다. 배경에서 실행되는 데몬과 원격 인터페이스 서비스를 소개하고 서비스를 응용한 라이브 벽지와 소프트 키보드에 대해 실습한다.
__30.1 서비스
__30.2 라이브 벽지
__30.3 소프트 키보드

31장. 제스처
사용자의 터치 입력을 논리적으로 해석하는 제스처 기법과 여러 손가락의 입력을 동시에 받아 들여 고수준의 명령으로 해석하는 멀티 터치 기법에 대해 소개한다.
__31.1 제스처
__31.2 멀티 터치

32장. 맵 서비스
안드로이드의 대표적인 기능인 지도 서비스에 대해 연구한다. 위치 제공자로 현재 좌표를 알아내고 좌표의 변화를 인식하는 방법을 소개하며 맵뷰로 현재 위치를 표시하거나 맵뷰 위에 추가 정보를 표시하는 오버레이를 연구한다.
__32.1 위치 제공자
__32.2 맵뷰
__32.3 오버레이

33장. 멀티미디어
오디오, 비디오를 재생 및 녹화하는 방법을 소개한다. 또한 안드로이드가 미디어를 관리하는 방법을 연구하고 미디어 DB로부터 원하는 정보를 추출하는 방법을 소개한다. 카메라는 렌즈로부터 입수된 영상을 파일로 저장하는 장치이다.
__33.1 오디오
__33.2 비디오
__33.3 미디어 DB
__33.4 카메라

34장. 센서
가속 센서를 통해 모바일 장비의 이동을 인식하고 활용하는 방법을 연구하고 그 외의 다양한 센서에 대해서도 소개한다.
__34.1 센서 관리자
__34.2 센서 활용

35장. 시스템 설정
하드웨어의 전원을 관리하는 방법에 대해 알아 보고 화면을 유지하는 방법을 실제 예제에 응용해 본다. 시스템 설정을 조사 및 변경하는 방법도 소개한다.
__35.1 전원 관리
__35.2 시스템 설정

36장. 전화
전화를 거는 방법과 메시지를 보내고 받는 방법을 연구한다. 모바일 장비의 주소록 데이터베이스를 액세스하는 방법과 통화 및 메시지 기록을 관리하는 방법도 소개한다.
__36.1 음성 통신
__36.2 메시지
__36.3 주소록

37장. 앱위젯
앱위젯은 홈 화면에서 실행되는 조그만 프로그램이다. 앱위젯의 동작 방식에 대해 연구해 보고 두 개의 실습 예제를 작성한다.
__37.1 앱위젯
__37.2 앱위젯 제작
__37.3 앱위젯 실습

38장. 마켓
완성된 예제의 속성을 정리하고 서명을 작성하여 프로그램의 제작자를 밝히는 방법을 알아 본다. 최종 릴리즈된 프로그램을 마켓에 등록하여 사용자들에게 배포하는 방법도 소개한다.
__38.1 릴리즈
__38.2 마켓

더보기
저자 정보
김상형
경력: 한메소프트 - 다울소프트 - LPA 전임 강사 - TODMobile - 프리랜서 참여 프로젝트: 백과사전, NeoTest, iLark 워드, LifeDiary, Galaxy S 카메라, 보안 바코드 리더 저서 『안드로이드 프로그래밍 정복』(한빛미디어, 2016) 『HTML5+CSS3』(한빛미디어, 2014) 『JavaScript+JQuery』(한빛미디어, 2014) 『윈도우즈 API 정복』(한빛미디어, 2006) 운영 중인 웹 사이트 http://www.soen.kr
더보기
남긴 글 0
앱에서 바로 보기