반디앤루니스 인터넷서점

네비게이션 실시간 인기 책

    인사이드 안드로이드

    인사이드 안드로이드

    • 송형주 외 저
    • 위키북스
    • 2010년 09월 30일
    • 정가
      30,000원
    • 판매가
      30,000원 [0% 할인]
    • 결제 혜택
      무이자
    • 적립금
      900원 적립 [3%P]

      NAVER Pay 결제 시 네이버페이 포인트 5% 적립 ?

    판매가 종료된 상품입니다.

    회원리뷰
    - [0]
    ISBN: 9788992939584 512쪽 188 x 235 (㎜)

    지금 이책은

    이 분야의 베스트셀러

    이 책과 함께 구매한 책

    이 책의 시리즈

    전체 선택 쇼핑카트 담기

    출판사 리뷰

    프레임워크를 제대로 이해하지 않더라도 얼마든지 안드로이드 애플리케이션을 개발할 수 있습니다. 그러나 프레임워크의 구조에 익숙하고 그것의 동작 원리를 제대로 파악한다면 어떠한 개발 시나리오라도 주눅들지 않고 안드로이드 프레임워크에 최적화된 소프트웨어를 설계할 수 있다는 자신감이 생길 것입니다.



    또한 안드로이드는 오픈소스로 제공되므로 각 하드웨어 벤더는 기본 안드로이드 프레임워크를 커스터마이즈해서 경쟁사와 차별화한 제품을 출시하고 있습니다. 안드로이드 프레임워크를 바탕으로 차별화한 자사 솔루션을 구축하려면 안드로이드 프레임워크에 대해 정확하고 심도있게 분석할 필요가 있습니다.



    『인사이드 안드로이드』는 안드로이드 시스템 소스코드 분석을 통해 안드로이드의 프레임워크를 심도 있게 다루고 있습니다. 안드로이드의 좀 더 깊은 곳을 알고 싶거나 최적화된 안드로이드 솔루션을 개발하고자 하는 개발자 여러분께 이 책을 추천합니다.



    이 책에서 다루는 내용



    - 부팅 프로세스로 알아보는 안드로이드 프레임워크 개요

    - 안드로이드를 포팅하고, 각 기기의 특성에 맞는 프로그램을 개발하기 위한 기초 지식

    - 안드로이드 프레임워크 분석에 필요한 기초 지식 - JNI(Java Native Interface)와 바인더(Binder)

    - Zygote, 서비스 매니저, 서비스 서버 등과 같은 안드로이드 핵심 컴포넌트 분석

    - 안드로이드 서비스 프레임워크의 구조와 이해

    - 카메라 서비스, 액티비티 매니저 서비스 등을 통한 실제 안드로이드 서비스 분석


    저자 소개

    송형주 외

    지은이 : 송형주
    삼성전자를 거쳐 현재는 SKT 네트워크 기술원 Device Tech.랩에서 디바이스 기반 서비스 플랫폼 개발 업무를 진행 중이다. 특히 안드로이드와 같은 모바일 소프트웨어 플랫폼의 설계 및 동작 원리에 관심이 많으며, 최근 들어서는 JavaScript나 Node.js와 같은 웹 기술의 매력을 알아 가고 있는 중이다. 틈틈이 쌓은 개발 관련 지식을 정리하고, 이를 책으로 엮어서 여러 개발자들과 공유하는 것에 소소한 재미를 느끼는 평범한 개발자이다.

    저서로는 『인사이드 안드로이드』(위키북스, 2009)가 있다  

    지은이 : 김태연
    부산대학교 컴퓨터 공학과 대학원 박사과정에 재학 중이며 소프트웨어 공학을 전공하고 있다. 안드로이드 휴대폰 개발에 참여 했으며, 현재 서울 안드로이드 플랫폼 스터디를 이끌고 있다. 저서로는 「인사이드 안드로이드」, 「안드로이드 아나토미」가 있다. 대외적으로 삼성전자 첨단기술연수소에서 2년간 「안드로이드 플랫폼 분석 및 설계 과정」을 강의하고 있으며, TOMPA 안드로이드 분과 출제위원이다.
      

    지은이 : 박지훈
    대학에서 컴퓨터공학을 전공하고 LG히다찌에 입사하여 현재까지 10년 이상 국내외 IT 솔루션 및 시스템 개발에 힘써 왔으며, 모바일, RFID, 임베디드, 유비쿼터스 등 주로 신사업 발굴의 프론티어적인 역할을 담당해왔다. 주요 프로젝트로는 세계 최초로 비문에 RFID를 적용했던 한국국방연구원 RFID 비문관리시스템 구축에 수석 개발자로 참여했으며, 경찰청 UTIS 사업의 장비 개발 업체로 선정됨에 따라 RSE(교통정보 수집장치), OBE(차량용 프로브장치)의 개발에 참여하였고, 현재는 세계 최초 시도인 안드로이드 기반 클라우드형 EMV 결제단말기의 개발 및 일본 수출 업무에 몸담고 있다. 평소 글로벌 코리아의 비전은 건축, 토목이 아니라 IT와 콘텐츠에 있다는 굳은 신념을 가지고 대한민국 IT 발전을 위해 절차탁마하고 있다.  

    지은이 : 이백
    임베디드 OS 및 플랫폼에 관심이 많으며, 현재는 안드로이드 포팅 및 시스템 프로그램을 개발하고 있다  

    지은이 : 임기영
    리눅스 기반 임베디드 디바이스 플랫폼의 구조 분석에 관심이 많으며, 임베디드 OS의 포팅 및 디바이스 드라이버 구현 등의 업무를 수행하고 있다.

      

    목차

    1장 안드로이드 프레임워크 개요

    1.1 안드로이드 프레임워크의 소스코드 구조
    1.2 부팅 프로세스로 알아보는 안드로이드 프레임워크

    2장 안드로이드 개발 환경 구축

    2.1 호스트 환경 구성
    - 2.1.1 VirtualBox 설치
    - 2.1.2 우분투 설치
    2.2 안드로이드 시스템 빌드 환경 구축
    - 2.2.1 빌드 유틸리티
    - 2.2.2 Repo 설치
    - 2.2.3 안드로이드 시스템의 소스코드 내려받기
    - 2.2.4 안드로이드 시스템 빌드
    2.3 안드로이드 SDK 개발 환경 구축
    - 2.3.1 이클립스 개발 환경 구축
    - 2.3.2 안드로이드 SDK starter 패키지 다운로드
    - 2.3.3 이클립스용 ADT 플러그인 설치
    - 2.3.4 안드로이드 SDK 경로 설정
    - 2.3.5 안드로이드 SDK에 플랫폼 및 예제 프로그램 추가하기
    2.4 안드로이드 애플리케이션 개발
    - 2.4.1 Hello 애플리케이션 작성
    2.5 안드로이드 시스템 소스 레벨 디버깅
    - 2.5.1 애플리케이션 프레임워크 소스 로딩
    - 2.5.2 HelloWorld 프레임워크 소스 레벨 디버깅

    3장 init 프로세스

    3.1 init 프로세스의 실행 과정
    3.2 init 프로세스의 소스코드 분석
    3.3 init.rc 파일 분석 및 실행
    - 3.3.1 액션 리스트
    - 3.3.2 서비스 리스트
    - 3.3.3 init.rc 파싱 코드 분석
    - 3.3.4 액션 리스트 및 서비스 리스트의 실행
    3.4 디바이스 노드 파일 생성
    - 3.4.1 정적 디바이스 노드 생성
    - 3.4.2 동적 디바이스 감지(HOT PLUG)
    3.5 프로세스 종료와 재시작
    - 3.5.1 프로세스 재시작 코드 분석
    3.6 프로퍼티 서비스
    - 3.6.1 프로퍼티 초기화
    - 3.6.2 프로퍼티 변경 요청 처리
    3.7. 정리

    4장 JNI와 NDK

    4.1 안드로이드와 JNI
    - 4.1.1 왜 안드로이드에서 JNI를 알아야 하는가?
    4.2 JNI의 기본 원리 이해
    - 4.2.1 자바에서 C 라이브러리 함수 호출하기
    - 4.2.2 정리
    4.3 JNI 함수 이용하기
    - 4.3.1 JNI 함수를 활용하는 예제 프로그램의 구조
    - 4.3.2 자바측 코드 살펴보기
    - 4.3.3 JNI 네이티브 함수의 코드 살펴보기
    - 4.3.4 컴파일 및 실행 결과
    - 4.3.5 안드로이드에서의 활용 예
    4.4 C 프로그램에서 자바 클래스 실행하기
    - 4.4.1 호출 API 사용 예제
    - 4.4.2 컴파일 및 실행
    - 4.4.3 안드로이드에서 활용 예 : Zygote 프로세스
    4.5 JNI 네이티브 함수 직접 등록하기
    - 4.5.1 라이브러리 로드 시에 JNI 네이티브 함수 등록하기
    - 4.5.2 안드로이드에서의 활용 예 : app_process 프로세스
    4.6 안드로이드 NDK(Native Development Kit)로 개발하기
    - 4.6.1 안드로이드 NDK 환경 설정
    - 4.6.2 안드로이드 NDK 개발 따라하기

    5장 Zygote

    5.1 Zygote란 무엇인가?
    - 5.1.1 Zygote를 통한 프로세스의 생성
    5.2 app_process로부터 ZygoteInit class 실행
    - 5.2.1 AppRuntime 객체 생성
    - 5.2.2 AppRuntime 객체 실행
    - 5.2.3 달빅 가상 머신의 생성
    - 5.2.4 ZygoteInit 클래스의 실행
    5.3 ZygoteInit 클래스의 기능
    - 5.3.1 /dev/socket/zygote 소켓 바인딩
    - 5.3.2 애플리케이션 프레임워크에 속한 클래스와 플랫폼 자원의 로딩
    - 5.3.3 SystemServer 실행
    - 5.3.4 새로운 안드로이드 애플리케이션 실행

    6장 안드로이드 서비스 개요

    6.1 예제 프로그램 : 안드로이드 서비스 동작 이해
    6.2 안드로이드 서비스 분류
    6.3 안드로이드 애플리케이션 서비스
    - 6.3.1 애플리케이션 서비스의 분류
    - 6.3.1.1 로컬 서비스
    - 6.3.1.2 리모트 서비스
    6.4 안드로이드 시스템 서비스
    - 6.4.1 시스템 서비스의 분류
    - 6.4.1.1 네이티브 시스템 서비스
    - 6.4.1.2 자바 시스템 서비스
    6.5 시스템 서비스의 실행
    - 6.5.1 미디어 서버의 실행 코드 분석
    - 6.5.2 시스템 서버의 실행 코드 분석
    6.6 안드로이드 서비스 프레임워크와 바인더 드라이버 개요 및 용어 정리

    7장 안드로이드 바인더 IPC

    7.1 리눅스 메모리 공간과 바인더 드라이버
    7.2 안드로이드 바인더 모델
    - 7.2.1 바인더 IPC 데이터의 전달
    - 7.2.2 바인더 IPC 데이터의 흐름
    - 7.2.3 바인더 프로토콜
    - 7.2.4 RPC 코드와 RPC 데이터
    - 7.2.5 바인더 어드레싱
    7.3 안드로이드 바인더 드라이버 분석
    - 7.3.1 프로세스 관점에서의 서비스 사용
    - 7.3.2 바인더 드라이버 관점에서의 서비스 사용
    - 7.3.3 바인더 드라이버 함수 분석
    7.4 컨텍스트 매니저(servicemanager)
    - 7.4.1 컨텍스트 매니저의 동작
    7.5 정리

    8장 안드로이드 서비스 프레임워크

    8.1 서비스 프레임워크
    8.2 서비스 프레임워크의 구조
    - 8.2.1 계층별 구성 요소의 배치
    - 8.2.2 계층별 구성 요소의 상호작용
    - 8.2.3 클래스 구조
    8.3 동작 메커니즘
    - 8.3.1 서비스 인터페이스
    - 8.3.2 서비스
    - 8.3.3 서비스 프록시
    8.4 네이티브 서비스 매니저
    - 8.4.1 서비스 매니저(ServiceManager) 개요
    - 8.4.2 서비스 매니저 클래스
    - 8.4.3 서비스 매니저의 동작
    8.5 네이티브 서비스 제작하기
    - 8.5.1 HelloWorld 시스템 서비스 설계
    - 8.5.2 HelloWorld 서비스 인터페이스
    - 8.5.3 HelloWorld 서비스
    - 8.5.4 HelloWorld 서비스 프록시
    - 8.5.5 HelloWorld 서비스 실행

    9장 네이티브 시스템 서비스 분석

    9.1 카메라 서비스(Camera Service)
    9.2 카메라 애플리케이션
    9.3 카메라 서비스 프레임워크
    - 9.3.1 카메라 서비스 프레임워크의 계층 구조
    - 9.3.2 카메라 서비스 프레임워크의 클래스
    9.4 카메라 서비스 프레임워크의 동작
    - 9.4.1 카메라 서비스 초기화
    - 9.4.2 카메라 서비스 연결
    - 9.4.3 카메라 서비스의 연결 소스 분석
    - 9.4.4 카메라 설정 및 제어 과정
    - 9.4.5 카메라 설정 및 제어 과정 분석
    - 9.4.6 카메라 이벤트의 처리 과정
    - 9.4.7 카메라 이벤트 처리 과정 분석

    10장 자바 서비스 프레임워크

    10.1 자바 서비스 프레임워크
    - 10.1.1 자바 서비스 프레임워크의 계층별 요소
    - 10.1.2 자바 서비스 프레임워크의 클래스별 상호작용
    10.2 동작 메커니즘
    - 10.2.1 자바 서비스 프레임워크 초기화
    - 10.2.2 Binder
    - 10.2.3 BinderProxy
    - 10.2.4 Parcel
    10.3 자바 시스템 서비스 구현
    - 10.3.1 알람 매니저 서비스의 구조 분석
    - 10.3.2 HelloWorldService 시스템 서비스의 구현
    - 10.3.3 HelloWorldService 시스템 서비스의 이용
    - 10.3.4 HelloWorldService 시스템 서비스 빌드
    10.4 자바 서비스 매니저
    - 10.4.1 자바 서비스 매니저 소개
    - 10.4.2 BinderInternal
    - 10.4.3 자바 서비스 매니저의 동작
    10.5 AIDL을 이용한 서비스 프록시와 스텁의 구현


    11장 자바 시스템 서비스 동작 분석

    11.1 액티비티 매니저 서비스
    11.2 액티비티 매니저 서비스를 통한 서비스 생성 코드 분석
    - 11.2.1 Controller 액티비티 - startService() 메서드 호출
    - 11.2.2 액티비티 매니저 서비스의 startService() 메서드 호출 과정 (바인더 RPC 활용)
    - 11.2.3 액티비티 매니저 서비스 - startService() 스텁 메서드 실행
    - 11.2.4 ActivityThread 클래스의 main() 메서드 실행
    - 11.2.5 액티비티 매니저 서비스 - attachApplication() 스텁 메서드 처리


    부록 AIDL 언어의 문법


    배송 시 유의사항

    - 반디앤루니스에서 구매하신 도서는 물류 대행 위탁업체 웅진 북센을 통해 배송됩니다.
     (배송 포장에 "웅진 북센"으로 표기될 수 있습니다.)

    - 구매한 상품의 품질과 배송 관련 문의는 반디앤루니스로 문의 바랍니다.

    - 천재지변 및 택배사의 사정에 따라 배송이 지연될 수 있습니다.

    - 결제(입금) 완료 후 출판사 및 유통사의 사정으로 품절 또는 절판 되어 상품 구입이 어려울 수 있습니다. (별도 안내 예정)

    - 도서산간지역의 경우 추가 배송비가 발생될 수 있습니다.

    반품/교환

    상품 설명에 반품/ 교환 관련한 안내가 있는 경우 그 내용을 우선으로 합니다. (업체 사정에 따라 달라질 수 있습니다)

    반품/교환

    반품/교환
    반품/교환 방법 홈 > 고객센터 > 자주찾는질문 “반품/교환/환불” 안내 참고 또는 1:1상담게시판
    반품/교환 가능 기간 반품,교환은 배송완료 후 7일 이내, 상품의 결함 및 계약내용과 다를 경우 문제발견 후 30일 이내에 신청가능
    반품/교환 비용 변심 혹은 구매착오의 경우에만 반송료 고객 부담(별도 지정 택배사 없음)
    반품/교환 불가 사유
    • 소비자의 책임 사유로 상품 등이 손실 또는 훼손된 경우
    • 소비자의 사용, 포장 개봉에 의해 상품 등의 가치가 현저히 감소한 경우
    • 복제가 가능한 상품 등의 포장을 훼손한 경우 : 예)만화책, 잡지, 화보집 등
    • 시간의 경과에 의해 재판매가 곤란한 정도로 가치가 현저히 감소한 경우
    • 전자상거래등에서의 소비자보호에 관한 법률이 정하는 소비자 청약철회 제한 내용에 해당되는 경우
    • 해외주문 상품(해외 원서)의 경우(파본/훼손/오발송 상품을 제외)
    소비자 피해보상
    환불지연에 따른 배상
    • 상품의 불량에 의한 반품, 교환, A/S, 환불, 품질보증 및 피해보상 등에 관한 사항은
      소비자 분쟁해결 기준(공정거래위원회고시)에 준하여 처리됨
    • 대금 환불 및 환불지연에 따른 배상금 지급 조건, 절차 등은 전자상거래 등에서의
      소비자 보호에 관한 법률에 따라 처리함
    반품/교환 주소 경기도 파주시 문발로 77, 웅진북센(반디앤루니스)
    • 회사명 : (주)서울문고
    • 대표이사 : 김홍구
    • 개인정보 보호책임자 : 김홍구
    • E-mail : bandi_cs@bnl.co.kr
    • 소재지 : (06168) 서울 강남구 삼성로 96길 6
    • 사업자 등록번호 : 120-81-02543
    • 통신판매업 신고번호 : 제2023-서울강남-03728호
    • 물류센터 : (10881) 경기도 파주시 문발로 77 반디앤루니스
    copyright (c) 2016 BANDI&LUNI'S All Rights Reserved