이미 소장하고 있다면 판매해 보세요.
|
제1부 안드로이드 소개하기
제1장시작하기 1.1도구 설치하기 Java 5.0+ 이클립스(Eclipse) 안드로이드 SDK 스타터 패키지 안드로이드 SDK 컴포넌트 이클립스 플러그인 1.2첫 프로그램 만들기 1.3에뮬레이터에서 실행하기 AVD 생성하기 다시 해보자 1.4진짜 폰에서 구동하기 1.5빨리 넘겨보기 >> 제2장주요 개념 2.1큰 그림 리눅스 커널 고유 라이브러리 안드로이드 런타임 어플리케이션 프레임워크(Application Framework) 응용프로그램과 위젯 2.2살아있네!(It’s Alive!) 프로세스는 응용프로그램과 다르다 유명인사들의 라이프 사이클 2.3구성요소 액티비티 인텐트 서비스 콘텐트 제공자 2.4리소스 사용하기 2.5안전과 보안 2.6빨리 넘겨보기 >> 제2부 안드로이드 기본기 제3장사용자 인터페이스 만들기 3.1스도쿠 예제 소개 3.2선언으로 만들기 3.3 시작 화면 만들기 3.4 대체 리소스 사용하기 3.5 About 상자 적용하기 3.6 테마 적용하기 3.7 메뉴 추가하기 3.8 설정 추가하기 3.9 새 게임 시작하기 3.10디버깅 로그 메시지로 디버깅하기 디버거로 디버깅하기 3.11게임 끝내기 3.12빨리 넘겨보기 >> 제4장2D 그래픽 그리기 4.1기본기 배우기 색깔(Color) 칠하기(Paint) 캔버스(Canvas) 경로(Path) Drawable 4.2스도쿠에 그래픽 추가하기 게임 시작하기 게임 클래스 정의하기 PuzzleView 클래스 정의하기 게임판 그리기 숫자 그리기 4.3입력 처리하기 선택 정의하기와 업데이트하기 숫자 입력하기 힌트 추가하기 흔들기 4.4남은 이야기 키패드 만들기 게임 로직 적용하기 사소한 것들 4.5개선하기 4.6빨리 넘겨보기 >> 제5장멀티미디어 5.1오디오 재생하기 5.2비디오 재생하기 5.3스도쿠에 사운드 추가하기 5.4빨리 넘겨보기 >> 제6장로컬 데이터 저장하기 6.1스도쿠에 옵션 추가하기 6.2이전 게임 이어하기 6.3현재 위치 기억하기 6.4내부 파일 시스템 접근하기 6.5SD 카드 접근하기 6.6빨리 넘겨보기 >> 제3부 기초를 넘어서 제7장연결된 세상 7.1인텐트로 브라우징하기 7.2전망 좋은 웹 7.3 자바스크립트에서 자바로, 자바에서 자바스크립트로 7.4웹 서비스 이용하기 7.5빨리 넘겨보기 >> 제8장위치 찾기와 감지하기 8.1로케이션, 로케이션, 로케이션 여기가 어디지? 위치 업데이트하기 에뮬레이션 주의 사항 8.2최대치로 센서 설정하기 매혹하는 센서들 센서의 표시도수 해석하기 에뮬레이션 주의 사항 8.3부감법(Bird’s-Eye View) MapView 내부 장착하기 준비하기 에뮬레이션 주의사항 8.4빨리 넘겨보기 >> 제9장SQL 활용하기 9.1SQLite 소개 9.2SQL 기초과정 DDL 구문 수정(modification) 구문 질의(query) 구문 9.3Hello, Database SQLiteOpenHelper 사용하기 메인 프로그램 정의하기 열 추가하기 질의 실행하기 질의 결과 보여주기 9.4데이터 연결하기 9.5ContentProvider 이용하기 메인 프로그램 바꾸기 열 추가하기 질의하기 9.6ContentProvider 구현하기 9.7빨리 넘겨보기 >> 제10장OpenGL을 이용한 3D 그래픽 10.13D 그래픽 이해하기 10.2OpenGL 소개하기 10.3OpenGL 프로그램 만들기 10.4장면 렌더링하기 10.5모델 구축하기 10.6조명, 카메라… 10.7액션! 10.8질감 적용하기 10.9비쳐 보이기 10.10부드러움 측정하기 10.11빨리 넘겨보기 >> 제4부 차세대 기능들 제11장멀티 터치 11.1멀티 터치 소개하기 11.2터치 예제 구축하기 11.3터치 이벤트 이해하기 11.4이미지 변환 설정하기 11.5드래그 동작 구현하기 11.6핀치 줌 동작 구현하기 두 지점 사이의 거리 두 지점의 중간점 11.7빨리 넘겨보기 >> 제12장집만한 데가 없어 12.1헬로, 위젯 첫 번째 위젯 생성하기 모든 위젯을 호출하라! 잡아당겨 맞추기 포용하고 확장하라 위젯 실행하기 지속적인 업데이트 유지하기 상상력을 발휘하라 12.2동적 배경화면 배경화면 프로젝트 생성하기 서비스 소개하기 그리기 엔진 구축하기 OpenGL 코드 재사용하기 엔진 생성하기와 종료하기 표면 관리하기 배경화면이 보이도록 만들기 사용자 입력에 반응하기 12.3빨리 넘겨보기 >> 제13장만들기는 한 번, 테스트는 모든 곳에서 13.1여러분, 에뮬레이터를 여세요 13.2다양한 버전용으로 개발하기 13.3안드로이드 API와 함께 진화하기 13.4버그 출동 13.5크고 작은 모든 화면들 13.6SD Card에 설치하기 13.7빨리 넘겨보기 >> 제14장안드로이드 마켓에 배포하기 14.1준비하기 14.2서명하기 14.3배포하기 14.4업데이트하기 14.5글을 마치며 제5부 부록 부록 A자바 대 안드로이드 언어와 API A.1언어 하위집합 언어 레벨 내재적 유형들 멀티 스레딩과 동기화 리플렉션(Reflection) 종료(Finalization) A.2표준 라이브러리 하위집합 지원되는 것들 지원되지 않는 것들 A.3제3자 라이브러리들 부록B참고문헌 찾아보기 |
|
안드로이드는 왜 특별한가?
● 리눅스와 오픈 소스에 기반한, 진정한 의미의 무료 개방형 개발 플랫폼. 휴대폰 제조사들은 로열티를 지불하지 않고 플랫폼을 이용하거나 최적화할 수 있다는 점에서 안드로이드를 좋아한다. 개발자들은 안드로이드가 매우 빠르게 발전하고 있고, 파산이나 인수합병의 위험이 있는 특정 공급자에 묶여 있지 않다는 점에서 이 플랫폼을 좋아한다. ● 인터넷 매쉬업(mashups)에서 영감을 받은 컴포넌트 기반의 아키텍처. 한 응용 프로그램의 일부분이 개발자가 미처 생각지 못했던 방식으로 다른 프로그램에 사용될 수 있다. 심지어 당신이 만든 개선된 버전으로 기본 제공 컴포넌트를 대체할 수도 있다. 이는 모바일 공간에 새로운 창조의 장을 열어놓을 것이다. ● 기본으로 제공되는 멋진 서비스들. GPS와 기지국 삼각측량 방식을 이용하는 위치 기반 서비스들은 당신이 위치에 따른 사용자 경험을 최적화할 수 있도록 지원한다. 본격적인 SQL 데이터베이스는 OCC(occasionally connected computing) 구현과 데이터 동기화를 위한 로컬 저장 기능을 제공한다. 브라우저와 지도 출력 기능은 당신의 응용 프로그램에 바로 내장될 수 있다. 이러한 모든 기본 제공 서비스들이 개발 비용을 줄이는 동시에 기능성을 높이는 역할을 한다. ● 자동으로 응용 프로그램 수명 주기(라이프 사이클) 관리. 프로그램들이 다층 구조의 보안 시스템에 의해 서로 격리되어, 이제껏 스마트폰에서는 볼 수 없었던 수준의 시스템 안정성을 제공할 것이다. 사용자들은 더 이상 어떤 응용 프로그램이 활성화되어 있는지 걱정하거나 특정 프로그램을 구동하기 위해 다른 프로그램을 종료해야 할 필요가 없다. 안드로이드는 다른 플랫폼이 시도하지 못했던 근본적인 방식으로 저전력, 저메모리 장치에 최적화되어 있다. ● 고품질 그래픽과 사운드. 플래시(Flash)로부터 영감을 받아 부드럽고 매끄럽게 외곽처리된 2D 벡터 이미지와 애니메이션이 3D 가속처리된 OpenGL 이미지들과 병합되면서 새로운 종류의 게임과 업무용 프로그램들이 가능해졌다. 가장 널리 쓰이는 업계 표준 오디오, 비디오 포맷을 위해 H.264(AVC), MP3, AAC 등의 코덱(codec)이 내장되어 있다. ● 광범위한 현재와 미래의 하드웨어를 아우르는 휴대성. 모든 프로그램이 자바로 작성되고 안드로이드의 달빅(Dalvik) 가상 머신에서 실행되므로 모든 코드는 ARM, x86 및 그 외 아키텍처를 넘나들 수 있다. 키보드, 터치, 트랙볼을 포함한 다양한 입력방식 지원. 사용자 인터페이스는 어떤 화면 해상도나 화면 방향에도 최적화 가능. 안드로이드는 모바일 응용 프로그램이 사용자와 상호작용할 수 있도록 기술적인 토대를 제공함과 동시에 그 상호작용 방식에서도 신선한 자극을 제공하고 있다. 그러나 안드로이드의 제일 좋은 부분은 무엇보다 이 소프트웨어가 당신이 만들려는 프로그램을 위한 것이라는 점이다. 이 책이 당신의 위대한 시작을 여는 데 도움이 될 것이다. 이 책의 구성 ‘헬로, 안드로이드 2.2(3판)’은 네 부분으로 구성되어 있다. 대략적으로 말하자면, 이 책은 쉬운 주제에서부터 어려운 주제로, 또는 안드로이드의 일반적인 측면에서부터 특수한 측면으로 진행한다고 볼 수 있다. 여러 장에서 안드로이드용 스도쿠 게임 예제가 사용된다. 점진적으로 게임에 기능을 추가해가면서 우리는 사용자 인터페이스와 멀티미디어, 수명 주기 등을 포함한 안드로이드 프로그래밍의 다양한 측면을 배우게 된다. 제1부는 안드로이드 소개로 시작한다. 안드로이드 에뮬레이터를 어떻게 설치하고 첫 프로그램을 만들기 위해 ‘통합 개발 환경(integrated development environment, IDE)’을 어떻게 써야 하는지 배울 수 있는 부분이다. 그 후에 안드로이드 수명 주기와 같은 몇몇 주요 개념들이 소개될 것이다. 안드로이드 프로그래밍이 당신이 익숙한 것과는 아마 조금 다를 것이라, 이러한 개념들을 확실히 알고 나서 넘어가도록 하자. 제2부는 안드로이드의 사용자 인터페이스와 2차원 그래픽, 멀티미디어 구성 요소, 간단한 데이터 접근을 다루고 있다. 이러한 기능은 거의 모든 프로그램에서 사용되는 것들이다. 제3부는 안드로이드 플랫폼을 좀더 깊이 파고든다. 여기서 우리는 외부 인터넷 연결과 위치 기반 서비스, 내장 SQLite 데이터베이스, 3차원 그래픽에 대해 배워 본다. 제4부는 멀티 터치를 포함한 진일보된 입력기술과 위젯 또는 동적 배경화면을 이용한 홈 화면의 기능 확장을 논의하면서 전체를 마무리한다. 마지막으로 우리는 앱을 다양한 안드로이드 기기들과 버전에 호환되도록 만드는 방법과 이를 안드로이드 마켓에 배포하는 법을 살펴볼 것이다. 책의 말미에는 안드로이드와 자바 표준 에디션(Java Standard Edition, SE) 간의 차쳀점을 정리해놓은 부록과 참고문헌 목록이 있다. 3판에서 무엇이 새로워졌나? 세 번째 판은 1.5버전에서부터 2.2버전, 또는 그 이상의 모든 안드로이드 버전을 지원할 수 있도록 업데이트되었다. 각 버전에서 새로 소개된 기능들과 이들이 다뤄진 장에 대해 간단히 요약했다. 컵케익의 새로운 기능 안드로이드 1.5(컵케익, Cupcake)는 소프트(화면상의) 키보드, 동영상 녹화, 응용 프로그램 위젯 지원 등을 포함하는 대규모 플랫폼 기능 개선을 선보였다. 내부적으로 안드로이드 1.1과 1.5 사이에는 1,000개가 넘는 API 변경이 있다. 위젯은 제12장 1절 헬로, 위젯에서다루고있다. 도넛의 새로운 기능 안드로이드 1.6(도넛, Donut)은 고밀도와 저밀도 디스플레이에 대한 지원 기능과 함께 대부분의 개발자에게 영향을 주지 않는 사소한 변경 사항을 추가했다. 다양한 기기의 형태 요소를 어떻게 지원하는지, 제13장 5절 크고 작은 화면들에서 배울 수 있다. 에클레어의 새로운 기능 안드로이드 2.0(에클레어, ?clair)는 멀티 터치와 가상 키, 계정 중앙 관리, 동기화 API, 도킹(docking), HTML5 지원 기능 등을 추가했다. 2.0 버전은 곧바로 안드로이드 2.01(역시 에클레어로 불림)로 대체되었는데, 이는 2.0 버전에 몇 가지 버그 수정사항이 추가된 것이다. 멀티 터치는 제11장 멀티 터치에서 다룬다. 에클레어 MR1의 새로운 기능 안드로이드 2.1(에클레어 수정 배포본 1, ?clair Maintenance Release 1)은 동적 배경화면과 추가적인 HTML5 지원 기능과 몇 가지 소소한 개선 사항을 추가했다. 동적 배경화면과 위젯을 포함하는 홈 화면 개선사항들은 제12장 집만한 데가 없어에서다룬다. 프로요와 그 이후 버전의 새로운 기능 안드로이드 2.2(프로요, FroYo)는 외부 저장 장치에서의 응용 프로그램 설치와 더 빨라진 자바 가상 머신, OpenGL ES 2.0 API들에 대한 지원 기능 등을 선보였다. 제13장 6절 SD 카드에 저장하기가 프로그램을 외부 저장장치에 설치하도록 설정하는 법과 그 기능을 써야할 때와 쓰지 말아야 할 때를 설명해줄 것이다. 출하되는 모든 안드로이드 기기들이 안드로이드 1.5(또는 그 이후 버전)를 사용할 수 있다. 새 기기에는 모두 설치되었고, 구글 말로는 예전 기기들도 대부분 업그레이드 되었단다. 최근의 안드로이드 유효 단말의 시장 점유율을 대략적으로 보려면 안드로이드 기기 계기판을 확인하면 된다. 이 책은 1.1 버전 이하는 다루지 않는다. 참고: 모든 기기들이 안드로이드 최신 버전으로 업그레이드되는 데는 한참이 걸릴 것이다(가능하다 가정하더라도), 제13장 한 번 만들어 여러 곳에서 테스트하기에서 하나의 프로그램이 복수의 안드로이드 버전을 지원하는 법을 다룬다. 이 책의 모든 예제들은 1.5버전부터 2.2버전까지 두루 테스트를 거쳤다. |