책 이미지
책 정보
· 분류 : 국내도서 > 컴퓨터/모바일 > 모바일 프로그래밍 > 안드로이드
· ISBN : 9788960773462
· 쪽수 : 544쪽
책 소개
목차
1 개발 환경 설정
___안드로이드 개발 시작
___윈도우 설정
______실습 예제 | 안드로이드 개발용 윈도우 환경 준비
___윈도우에 안드로이드 개발 킷 설치
______실습 예제 | 윈도우에 안드로이드 SDK/NDK 설치
___맥OS X 설정
______실습 예제 | 맥OS로 안드로이드 개발 준비
___맥OS X에서 안드로이드 개발 킷 설치
______실습 예제 | 맥OS X에서 안드로이드 SDK와 NDK 설치
___리눅스 설정
______실습 예제 | 안드로이드 개발을 위한 우분투 리눅스 준비
___리눅스에 안드로이드 개발 킷 설치
______실습 예제 | 우분투에 안드로이드 SDK/NDK 설치
___이클립스 개발 환경 설정
______실습 예제 | 이클립스 시작
___안드로이드 에뮬레이트
______실습 예제 | 안드로이드 가상 장치 생성
___윈도우와 맥OS X에서 안드로이드 기기 개발
______실습 예제 | 윈도우와 맥OS X에서 안드로이드 기기 설정
___리눅스에서 안드로이드 기기 개발
______실습 예제 | 우분투에서 안드로이드 기기 설정
___개발 기기 문제 해결
___정리
2 네이티브 프로젝트 생성, 컴파일, 배포
___NDK 예제 애플리케이션 컴파일과 배포
______실습 예제 | hellojni 예제 컴파일과 배포
___안드로이드 SDK 도구
______안드로이드 디버그 브리지
______프로젝트 설정 도구
___이클립스로 첫 번째 안드로이드 프로젝트 생성
______실습 예제 | 자바 프로젝트 초기화
______달빅 소개
___자바와 C/C++ 간 인터페이스
______실습 예제 | 자바에서 C 코드 호출
______Makefile
___이클립스에서 네이티브 코드 컴파일
______실습 예제 | 하이브리드 자바/C/C++ 프로젝트 작성
___정리
3 JNI를 이용한 자바와 C/C++ 인터페이스
___자바 기본 데이터 타입
______실습 예제 | 네이티브 키/값 저장소 빌드
___네이티브 코드에서 자바 객체 참조
______실습 예제 | Store 내의 객체 레퍼런스 저장
______지역 레퍼런스와 전역 레퍼런스
___네이티브 코드에서 예외 전달
______실습 예제 | Store에서 예외 발생시키기
______C++에서의 JNI
___자바 배열 처리
______실습 예제 | Store에서 객체 레퍼런스 저장
______JNI 예외 확인
___정리
4 네이티브 코드에서 자바 콜백 호출
___자바와 네이티브 스레드 동기화
______실습 예제 | 백그라운드 스레드 실행
______스레드 연결과 분리
______자바와 네이티브 코드 생명주기
___네이티브 코드에서 자바 콜백 호출
______실습 예제 | 네이티브 스레드에서 자바 코드 호출
______콜백
______JNI 메소드 정의
___네이티브에서 비트맵 처리
______실습 예제 | 네이티브 코드에서 카메라 피드 디코딩
___정리
5 완전한 네이티브 애플리케이션 작성
___네이티브 액티비티 작성
______실습 예제 | 기본적인 네이티브 액티비티 생성
___액티비티 이벤트 처리
______실습 예제 | 액티비티 이벤트 처리
______네이티브 앱 glue
______UI 스레드
______네이티브 스레드
______Android_app 구조체
___네이티브에서 윈도우와 시간에 접근
______실습 예제 | 그래픽 디스플레이와 타이머 구현
______시간 기본형
___정리
6 OpenGL ES로 그래픽 렌더링
___OpenGL ES 초기화
______실습 예제 | OpenGL ES 초기화
___애셋 관리자로 PNG 텍스쳐 읽기
______실습 예제 | OpenGL ES에서 텍스쳐 로딩
___스프라이트 그리기
______실습 예제 | 우주선 스프라이트 그리기
___버텍스 버퍼 객체를 이용해 타일 맵 렌더링
______실습 예제 | 타일 기반의 배경 화면 그리기
___정리
7 OpenSL ES로 사운드 재생
___OpenSL ES 초기화
______실습 예제 | OpenSL ES 엔진과 출력 생성
______OpenSL ES 철학
___음악 파일 재생
______실습 예제 | 배경 음악 재생
___사운드 재생
______실습 예제 | 사운드 버퍼 큐 생성과 재생
______이벤트 콜백
___사운드 녹화
___정리
8 입력 기기와 센서 처리
___안드로이드와의 상호작용
______실습 예제 | 터치 이벤트 처리
___키보드와 D패드, 트랙볼 이벤트 탐지
______실습 예제 | 네이티브에서 키보드와 D패드, 트랙볼 처리
___기기 센서 검증
______실습 예제 | 기기를 조이패드로 변경
___정리
9 안드로이드에 기존 라이브러리 포팅
___표준 템플릿 라이브러리를 이용한 개발
______실습 예제 | DroidBlaster에 GNU STL 추가
______정적과 공유
______STL 성능
___안드로이드에서 부스트 컴파일
______실습 예제 | DroidBlaster에 부스트 포함
___안드로이드에 서드파티 라이브러리 포팅
______실습 예제 | NDK를 이용해 Box2D와 Irrlicht 컴파일
______GCC 최적화 레벨
___Makefile 마스터
______Makefile 변수
______Makefile 명령
___정리
10 전문 게임 개발
___Box2D를 이용한 물리 시뮬레이션
______실습 예제 | Box2D를 이용한 물리 시뮬레이션
______충돌 탐지
______충돌 모드
______충돌 필터링
______Box2D 자원
___안드로이드에서 3D 엔진 구동
______실습 예제 | Irrlicht를 이용한 3D 그래픽 렌더링
______Irrlicht 장면 관리
___정리
11 디버깅과 문제 해결
___GDB를 이용한 디버깅
______실습 예제 | DroidBlaster 디버깅
___스택 트레이스 분석
______실습 예제 | 크래시 덤프 분석
______크래시 덤프
___성능 분석
______실습 예제 | Gprof 실행
______동작 과정
______ARM과 thumb, 네온
___정리
책을 마치며