책 이미지

책 정보
· 분류 : 국내도서 > 컴퓨터/모바일 > 프로그래밍 개발/방법론 > 모바일/무선/임베디드 프로그래밍
· ISBN : 9788996603115
· 쪽수 : 715쪽
· 출판일 : 2012-12-17
책 소개
목차
1장 안드로이드 아나토미
1.1 들어가며
1.2 책의 구성
1.3 안드로이드 아나토미
1.4 인사이드 안드로이드와의 연결성
1.5 본서의 서술 스타일
2장 안드로이드 시스템 서비스
2.1 시스템 서비스의 종류
2.1.1 네이티브 시스템 서비스
2.1.2 자바 시스템 서비스
2.2 시스템 서비스의 생성
2.2.1 서피스 플링어 프로세스의 실행
2.2.2 미디어 서버 프로세스의 실행
2.2.3 시스템 서버 프로세스의 실행
2.3 시스템 서비스 분석에 필요한 기본 지식
2.3.1 프로세스와 쓰레드
2.3.2 프로그래밍 지식
2.4 젤리빈 스페셜 이슈
2.4.1 오디오 레이턴시
2.4.2 렌더링 레이턴시
2.4.3 Jank Busting을 위한 은총알
3장 고급 바인더 IPC
3.1 바인더 IPC 개요
3.1.1 서비스 클라이언트와 서비스 서버
3.1.2 컨텍스트 매니저와 서비스 매니저
3.1.3 바인더 드라이버
3.2 구성요소간 상호작용
3.2.1 시스템 서비스 등록
3.2.2 시스템 서비스 검색
3.2.3 시스템 서비스 사용
3.3 네이티브 리모트 서비스
3.3.1 정방향 리모트 서비스 생성
3.3.2 역방향 리모트 서비스 생성
3.3.3 리모트 서비스 공유
3.3.4 정방향 리모트 서비스 예제
3.4 안드로이드 공유 메모리
3.4.1 공유 메모리 개요
3.4.2 애쉬맴 개요
3.4.3 애쉬맴 생성 (서비스 서버)
3.4.4 애쉬맴 사용 (서비스 클라이언트)
3.5 파일 식별자 전달 메커니즘
3.5.1 파일 식별자 전달 개요
3.5.2 애쉬맴 파일 식별자 요청 과정
3.5.3 애쉬맴 파일 식별자 반환 과정
3.6 MemoryHeapBase 리모트 서비스
3.6.1 MemoryHeapBase 리모트 서비스 구조
3.6.2 MemoryHeapBase 예제 애플리케이션
3.6.3 화면 캡쳐 요청 (서비스 클라이언트)
3.6.4 화면 캡쳐(서비스 서버)
3.6.5 공유 메모리 사용(서비스 클라이언트)
3.7 MemoryBase 리모트 서비스
3.7.1 MemoryBase 리모트 서비스 구조
3.7.2 MemoryBase 예제 애플리케이션
3.7.3 MemoryBase 생성(서비스 서버)
3.7.4 MemoryBase 사용(서비스 클라이언트)
4장 안드로이드 오디오 시스템
4.1 오디오 시스템의 개요
4.1.1 오디오 시스템의 역할
4.1.2 PCM 데이터
4.1.3 트랙과 플레이백 쓰레드
4.1.4 오디오 장치와 입출력 스트림
4.2 오디오 시스템의 구조
4.2.1 오디오 시스템 계층별 구성요소
4.2.2 오디오 시스템 아키텍쳐
4.2.3 오디오 HAL 구조
4.3 오디오 플링어 서비스 초기화
4.3.1 오디오 HAL의 결정
4.3.2 출력 스트림과 플레이백 쓰레드 생성
4.3.3 오디오 출력의 모든 것 (삽질과 굴삭기)
4.4 오디오 출력
4.4.1 오디오 출력 애플리케이션
4.4.2 오디오 출력의 동작 과정
4.4.3 트랙 생성 요청(서비스 클라이언트)
4.4.4 트랙 생성 과정(서비스 서버)
4.4.5 트랙 공유 메모리 생성
4.4.6 오디오 트랙 컨트롤 블록 생성
4.4.7 트랙 생성
4.4.8 트랙 공유 메모리 참조(서비스 클라이언트)
4.4.9 트랙 활성화 요청(서비스 클라이언트)
4.4.10 트랙 활성화 (서비스 서버)
4.4.11 PCM 데이터 출력 요청(서비스 클라이언트)
4.4.12 PCM 데이터 출력 준비(서비스 서버)
4.4.13 PCM 데이터 리샘플링과 믹싱
4.4.14 PCM 데이터 출력
4.5 오디오 입력
4.5.1 오디오 입력 구성 요소
4.5.2 오디오 입력 애플리케이션
4.5.3 레코드 트랙 생성
4.5.4 레코드 트랙 활성화(서비스 서버)
4.5.5 PCM 데이터 입력
4.6 오디오 정책 서비스
4.6.1 오디오 정책 서비스 개요
4.6.2 오디오 정책 서비스 구조
4.6.3 오디오 정책 HAL 구조
4.6.4 기본 오디오 정책 HAL 구조 분석
4.6.5 오디오 정책 서비스 초기화
4.6.6 기본 오디오 정책 HAL 초기화
4.7 오디오 서비스
4.7.1 오디오 서비스 개요
4.7.2 오디오 서비스 구조
4.7.3 오디오 시스템 서비스들 간의 상호 작용
4.8 출력 장치 제어
4.8.1 출력 장치 제어 구조
4.8.2 출력 장치 결정
4.8.3 이어폰 연결 시 출력 장치 변경
4.9 볼륨 제어
4.9.1 볼륨의 종류
4.9.2 볼륨 제어 흐름
4.9.3 무음 모드, 벨소리 모드
5장 서피스 플링어 서비스
5.1 서피스 플링어 서비스 소개
5.1.1 다양한 종류의 안드로이드 화면
5.1.2 서피스와 레이어
5.1.3 OpenGL ES, EGL 소개
5.1.4 텍스쳐 - EGL Image
5.1.5 프레임 버퍼와 픽셀 포맷
5.2 서피스 플링어 서비스 구조
5.2.1 서피스 플링어 서비스 계층별 구성요소
5.2.2 서피스 플링어 서비스 아키텍처
5.3 서피스 플링어 서비스 초기화
5.3.1 SurfaceFlinger 클래스의 인스턴스 생성
5.3.2 메인 디스플레이 초기화
5.3.3 네이티브 윈도우 생성
5.3.4 EGL 초기화
5.3.5 디스플레이 공유 메모리 생성
5.3.6 이벤트 쓰레드 생성
5.3.7 부트 애니메이션
5.4 화면 출력 (노말 서피스)
5.4.1 애플리케이션의 화면 출력
5.4.2 서피스 플링어 서비스 연결 요청
5.4.3 서피스 플링어 서비스 연결(서비스 서버)
5.4.4 노말 서피스 생성 요청(서비스 클라이언트)
5.4.5 노말 서피스 생성(서비스 서버)
5.4.6 메시지 큐와 핸들러 생성
5.4.7 레이어 생성
5.4.8 BufferQueue 리모트 서비스 생성
5.4.9 서피스 텍스처 생성
5.4.10 노말 레이어 초기화
5.4.11 리모트 서비스 생성 후 반환
5.4.12 SurfaceTextureClient 생성(서비스 클라이언트)
5.4.13 상태 변경 요청 (서비스 클라이언트)
5.4.14 상태 변경 (서비스 서버)
5.4.15 윈도우 속성 변경 (서비스 클라이언트)
5.4.16 윈도우 속성 변경(서비스 서버)
5.4.17 그래픽 버퍼 요청(서비스 클라이언트)
5.4.18 그래픽 버퍼 생성(서비스 서버)
5.4.19 노말 서피스 출력 (서비스 클라이언트)
5.4.20 노말 서피스 출력 (서비스 서버)
5.4.21 디스플레이 이벤트 동기화
5.4.22 레이어 합성과 화면 출력
6장 OpenMAX IL
6.1 OpenMAX 소개
6.2 OpenMAX IL 소개
6.2.1 안드로이드와 OpenMAX IL
6.2.2 OpenMAX IL 구성요소
6.3 OpenMAX IL 코어
6.3.1 OpenMAX IL 코어의 역할
6.3.2 OpenMAX IL 코어의 주요 API
6.3.3 OpenMAX IL 코어 매크로 함수의 동작 방식
6.3.4 OpenMAX IL 코어의 구현 예
6.4 OpenMAX IL 컴포넌트
6.4.1 OpenMAX IL 컴포넌트의 역할
6.4.2 OpenMAX IL 컴포넌트의 구조와 주요 API
6.4.3 OpenMAX IL 컴포넌트의 상태
6.4.4 OpenMAX IL 컴포넌트의 포트
6.4.5 OpenMAX IL 컴포넌트의 버퍼
6.4.6 OpenMAX IL 컴포넌트의 구현 예
6.5 OpenMAX IL 클라이언트
6.5.1 OpenMAX IL 클라이언트의 역할
6.5.2 OpenMAX IL 클라이언트를 사용한 응용 프로그램
6.5.3 OpenMAX IL 클라이언트 - 컴포넌트 준비 단계
6.5.4 OpenMAX IL 클라이언트 - 컴포넌트 실행 단계
6.5.5 OpenMAX IL 클라이언트 - 컴포넌트 해제 단계
7장 미디어 플레이어 서비스
7.1 미디어 플레이어 서비스 개요
7.1.1 미디어 플레이어 서비스의 개요
7.1.2 안드로이드 미디어 프레임워크 변천사
7.2 미디어 콘텐츠
7.2.1 미디어 코덱
7.2.2 미디어 컨테이너 포맷
7.2.3 미디어 콘텐츠 재생
7.3 미디어 프레임워크 구조
7.3.1 미디어 프레임워크 계층 및 구성 요소
7.3.2 미디어 플레이어 상태 머신
7.3.3 미디어 플레이어 서비스 구조
7.3.4 스테이지프라이트 플레이어 구조
7.4 미디어 재생 애플리케이션
7.4.1 미디어 재생 애플리케이션(PDK)
7.5 미디어 데이터 소스 설정(setDataSource())
7.5.1 미디어 플레이어 서비스 연결 요청
7.5.2 미디어 플레이어 서비스 연결(서비스 서버)
7.5.3 미디어 데이터 소스 설정
7.5.4 StagefrightPlayer 생성
7.5.5 AwesomePlayer 생성
7.5.6 OMX 리모트 서비스 생성
7.5.7 DataSource(FileSource) 생성 및 초기화
7.5.8 MediaExtractor(MatroskaExtractor) 생성
7.5.9 MediaSource(MatroskaSource) 생성 및 초기화
7.6 디코더 준비(prepare())
7.6.1 재생 준비 요청(서비스 클라이언트)
7.6.2 재생 준비(서비스 서버)
7.6.3 AwesomePlayer 이벤트 스케줄러 생성
7.6.4 OpenMAX IL 디코더 생성 요청(미디어 프레임워크)
7.6.5 OpenMAX IL 디코더 생성(OpenMAX IL)
7.6.6 OpenMAX IL 디코더 설정(미디어 프레임워크)
7.6.7 OpenMAX IL 디코더 초기화(미디어 프레임워크)
7.6.8 OpenMAX IL 디코더 버퍼 할당 요청
7.6.9 OpenMAX IL 디코더 버퍼 할당(OpenMAX IL)
7.6.10 OpenMAX IL 디코더 콜백 함수 호출(OpenMAX IL)
7.7 미디어 콘텐츠 재생(start())
7.7.1 미디어 재생 요청(서비스 클라이언트)
7.7.2 미디어 재생(서비스 서버)
7.7.3 디코딩 시작 요청(미디어 프레임워크)
7.7.4 디코딩 시작(OpenMAX IL)
7.7.5 디코딩 결과 전달(미디어 프레임워크)
7.7.6 비디오 렌더러 생성(미디어 프레임워크)
7.7.7 오디오 렌더러 생성 및 소리 출력
7.7.8 영상 출력
7.7.9 미디어 재생의 모든 것