안드로이드 프로그래밍과 보안의 모든 것 (세트)
- 원서명Android Forensics: Investigation, Analysis and Mobile Security for Google Android
- 지은이김지훈, 이지훈, 이현우, 김도균, 앤드류 후그
- 옮긴이윤근용
- ISBN : 9788960774117
- 78,000원
- 2013년 03월 22일 펴냄 (절판)
- 페이퍼백 | 1,696쪽 | 188*250mm
- 시리즈 : 모바일 프로그래밍, 해킹과 보안
판매처
- 현재 이 도서는 구매할 수 없습니다.
책 소개
[ 세트 구성: 전2권 ]
1) 『나홀로 개발자를 위한 안드로이드 프로그래밍의 모든 것』
2) 『안드로이드 포렌식: 구글 안드로이드 플랫폼 분석과 모바일 보안』
『나홀로 개발자를 위한 안드로이드 프로그래밍의 모든 것』
오늘날 안드로이드는 가장 많이 사용되는 스마트폰 운영체제로 확고히 자리매김했고, 자바에 대한 지식만 있으면 누구나 쉽게 스마트폰 앱을 개발할 수 있다. 이 책은 초보자부터 전문가까지 모두 활용할 수 있도록 구글의 안드로이드 4.x의 모든 API와 유용한 예제들을 담았다. 이 책에서는 안드로이드 기초 위젯, 레이아웃, 이벤트, 액티비티와 프래그먼트, 구글 맵 같은 기초 주제부터 구글 앱 엔진 사용, GCM, SNS 연결 같은 고급 주제들을 곧바로 사용할 수 있는 뛰어난 예제로 자세하게 설명한다.
GoDev 사이트: http://www.godev.kr
페이스북 공식 페이지: http://facebook.com/AllThatAndroidProgramming
이 책에서 다루는 내용
■ 안드로이드 개념과 환경설정
■ 예제를 통한 안드로이드 기본 기능과 고급 기능의 학습
■ 실전 애플리케이션의 리뷰를 통한 애플리케이션 개발
■ 안드로이드 이외의 연관성이 있는 서버 사이드 개발 예제
■ 페이스북과 트위터의 SNS 개발 방법
■ 수익을 내기 위한 여러 가지 방법
이 책의 특징
■ 안드로이드 개발의 필수 노하우에 대한 친절하고 명쾌한 단계적 설명
■ 안드로이드 이외의 구글 앱 엔진, SNS 등 모바일 전반에 대한 학습
■ 예제를 통한 이론 학습과 주요 소스 제공
■ 단계마다 결과물과 함께 성취감을 자극하고 동기를 부여하는 학습
■ 최신 안드로이드 버전 젤리빈은 물론 이후 버전까지 고려한 생생한 지식
■ 페이스북 페이지와 저자 블로그를 통한 독자 지원
이 책의 대상 독자
이 책은 자바는 알지만 안드로이드는 모르는 사람을 대상으로 한다. 무엇보다도 안드로이드 기반 앱을 개발하고자 할 때 단지 안드로이드뿐 아니라 그를 둘러싼 환경도 알아야 하는데, 이 책은 이에 대한 정보도 제공한다. 예를 들면 서버를 위한 구글 앱 엔진과 SNS 연동, 광고 플랫폼 연계 등이 그것이다. 단지 디바이스단의 안드로이드 프로그램만을 작성해서는 원하는 프로그램을 작성하는 데 제약이 있다. 서버나 SNS 연동 등을 알아야 기술적인 제약 없이 원하는 대로 프로그램을 작성할 수 있다. 자바는 익숙하지만 안드로이드와 그 주변 환경에 관련된 제반 지식은 없는 초보자를 대상으로 하는 안드로이드 완벽 가이드다.
『안드로이드 포렌식』
안드로이드의 핵심적인 하드웨어와 소프트웨어 요소, 데이터 구조와 파일시스템, 메모리 유형과 저장 방식, 데이터 보안을 위한 고려사항 등 안드로이드 플랫폼에 대해 자세히 설명하는 책이다. 또한 포렌식 데이터 획득 기술과 데이터를 분석하는 데 필요한 전략을 제공한다. 뿐만 아니라 다양한 오픈소스 툴에 대한 소개와 사용 방법, 분석 작업을 여러 가지 예를 들어 단계별로 자세히 설명한다.
이 책에서 다루는 내용
■ 포렌식 분석을 위해 안드로이드 기기를 획득하는 기술
■ 포렌식 분석에 필요한 안드로이드 애플리케이션에 대한 정보 제공
■ 포렌식 분석가와 앱 개발자, IT 보안 관리자를 위해 책 전반에 걸쳐서 안드로이드 기기와 안드로이드의 데이터와 앱 보안에 대한 설명 제공
1) 『나홀로 개발자를 위한 안드로이드 프로그래밍의 모든 것』
2) 『안드로이드 포렌식: 구글 안드로이드 플랫폼 분석과 모바일 보안』
『나홀로 개발자를 위한 안드로이드 프로그래밍의 모든 것』
오늘날 안드로이드는 가장 많이 사용되는 스마트폰 운영체제로 확고히 자리매김했고, 자바에 대한 지식만 있으면 누구나 쉽게 스마트폰 앱을 개발할 수 있다. 이 책은 초보자부터 전문가까지 모두 활용할 수 있도록 구글의 안드로이드 4.x의 모든 API와 유용한 예제들을 담았다. 이 책에서는 안드로이드 기초 위젯, 레이아웃, 이벤트, 액티비티와 프래그먼트, 구글 맵 같은 기초 주제부터 구글 앱 엔진 사용, GCM, SNS 연결 같은 고급 주제들을 곧바로 사용할 수 있는 뛰어난 예제로 자세하게 설명한다.
GoDev 사이트: http://www.godev.kr
페이스북 공식 페이지: http://facebook.com/AllThatAndroidProgramming
이 책에서 다루는 내용
■ 안드로이드 개념과 환경설정
■ 예제를 통한 안드로이드 기본 기능과 고급 기능의 학습
■ 실전 애플리케이션의 리뷰를 통한 애플리케이션 개발
■ 안드로이드 이외의 연관성이 있는 서버 사이드 개발 예제
■ 페이스북과 트위터의 SNS 개발 방법
■ 수익을 내기 위한 여러 가지 방법
이 책의 특징
■ 안드로이드 개발의 필수 노하우에 대한 친절하고 명쾌한 단계적 설명
■ 안드로이드 이외의 구글 앱 엔진, SNS 등 모바일 전반에 대한 학습
■ 예제를 통한 이론 학습과 주요 소스 제공
■ 단계마다 결과물과 함께 성취감을 자극하고 동기를 부여하는 학습
■ 최신 안드로이드 버전 젤리빈은 물론 이후 버전까지 고려한 생생한 지식
■ 페이스북 페이지와 저자 블로그를 통한 독자 지원
이 책의 대상 독자
이 책은 자바는 알지만 안드로이드는 모르는 사람을 대상으로 한다. 무엇보다도 안드로이드 기반 앱을 개발하고자 할 때 단지 안드로이드뿐 아니라 그를 둘러싼 환경도 알아야 하는데, 이 책은 이에 대한 정보도 제공한다. 예를 들면 서버를 위한 구글 앱 엔진과 SNS 연동, 광고 플랫폼 연계 등이 그것이다. 단지 디바이스단의 안드로이드 프로그램만을 작성해서는 원하는 프로그램을 작성하는 데 제약이 있다. 서버나 SNS 연동 등을 알아야 기술적인 제약 없이 원하는 대로 프로그램을 작성할 수 있다. 자바는 익숙하지만 안드로이드와 그 주변 환경에 관련된 제반 지식은 없는 초보자를 대상으로 하는 안드로이드 완벽 가이드다.
『안드로이드 포렌식』
안드로이드의 핵심적인 하드웨어와 소프트웨어 요소, 데이터 구조와 파일시스템, 메모리 유형과 저장 방식, 데이터 보안을 위한 고려사항 등 안드로이드 플랫폼에 대해 자세히 설명하는 책이다. 또한 포렌식 데이터 획득 기술과 데이터를 분석하는 데 필요한 전략을 제공한다. 뿐만 아니라 다양한 오픈소스 툴에 대한 소개와 사용 방법, 분석 작업을 여러 가지 예를 들어 단계별로 자세히 설명한다.
이 책에서 다루는 내용
■ 포렌식 분석을 위해 안드로이드 기기를 획득하는 기술
■ 포렌식 분석에 필요한 안드로이드 애플리케이션에 대한 정보 제공
■ 포렌식 분석가와 앱 개발자, IT 보안 관리자를 위해 책 전반에 걸쳐서 안드로이드 기기와 안드로이드의 데이터와 앱 보안에 대한 설명 제공
목차
목차
- 『나홀로 개발자를 위한 안드로이드 프로그래밍의 모든 것』
- I부 안드로이드 기초
- 1장 안드로이드 개요
- 1.1 안드로이드의 특징
- 1.2 안드로이드 아키텍처
- 1.3 안드로이드 기초 지식
- 1.3.1 필수 구성 요소
- 1.3.2 매니페스트 파일
- 1.4 새로운 기능
- 1.5 스마트폰과 태블릿
- 1.5.1 화면 구성의 호환성
- 1.5.2 태블릿의 UI 구성 전략
- 1.6 개발자 등록
- 1.6.1 개발자 기본 정보 등록
- 1.6.2 구글 플레이 등록과 결제
- 1.6.3 개발자 등록 완료
- 1.7 개발자 사이트
- 1.7.1 개발자 사이트 메인
- 1.7.2 Design
- 1.7.3 Develop
- 1.7.4 Distribute
- 1.8 정리
- 2장 안드로이드 개발 환경
- 2.1 JDK 설치와 구성
- 2.2 안드로이드 SDK 설치와 구성
- 2.3 이클립스 설치
- 2.4 ADT와 AVD
- 2.4.1 ADT 설치와 구성
- 2.4.2 AVD 설정
- 2.5 편리한 개발을 위한 설정
- 2.6 정리
- 3장 헬로 안드로이드
- 3.1 안드로이드 프로젝트
- 3.1.1 프로젝트 생성
- 3.1.2 프로젝트 실행
- 3.2 HelloAndroid 프로젝트 분석
- 3.2.1 프로젝트 구조
- 3.2.2 동작 원리
- 3.2.3 AndroidMenifest.xml
- 3.2.4 자바 소스코드
- 3.2.5 레이아웃 파일
- 3.2.6 strings.xml
- 3.2.7 R.java
- 3.2.8 리소스 처리 방법
- 3.3 빌드와 실행
- 3.3.1 빌드
- 3.3.2 빌드 트러블 슈팅
- 3.3.3 실행
- 3.4 정리
- 3.1 안드로이드 프로젝트
- II부 기본 API
- 4장 기본 사용자 인터페이스
- 4.1 뷰
- 4.2 뷰의 속성
- 4.2.1 아이디
- 4.2.2 포지션
- 4.2.3 레이아웃
- 4.2.4 이벤트 처리
- 4.3 텍스트 뷰
- 4.4 이미지 뷰
- 4.5 스크롤 뷰
- 4.6 기본 위젯
- 4.6.1 에디트텍스트
- 4.6.2 버튼
- 4.6.3 체크 박스
- 4.6.4 라디오 버튼
- 4.6.5 토글 버튼
- 4.7 정리
- 5장 레이아웃
- 5.1 선형 레이아웃
- 5.2 상대 레이아웃
- 5.3 테이블 레이아웃
- 5.4 프레임 레이아웃
- 5.5 레이아웃 인플레이션
- 5.5.1 레이아웃 인플레이터
- 5.5.2 레이아웃 파라미터
- 5.6 정리
- 6장 이벤트 처리
- 6.1 이벤트 구조
- 6.1.1 이벤트 처리 구성 요소
- 6.1.2 onClick 이벤트 기본 처리 예제
- 6.1.3 다중 객체에서의 클릭 이벤트 처리 예제
- 6.2 클릭 이벤트(OnClick)
- 6.3 키 이벤트(OnKey)
- 6.4 터치 이벤트(OnTouch)
- 6.5 롱 클릭 이벤트(OnLongClick)
- 6.6 포커스 이벤트(OnFocusChange)
- 6.7 정리
- 7장 대화상자
- 7.1 주요 대화상자 서브클래스
- 7.2 알림 대화상자
- 7.2.1 선택형 대화상자(팝업)
- 7.2.2 라디오 버튼을 가진 선택형 대화상자
- 7.2.3 체크 박스 선택형 알림 대화상자
- 7.3 프로그레스 대화상자
- 7.3.1 기본 사용법
- 7.3.2 예제 코드 익히기
- 7.4 커스텀 대화상자
- 7.4.1 예제 프로그램 구성
- 7.4.2 예제 코드 익히기
- 7.5 대화상자 프래그먼트
- 7.5.1 기본 사용법
- 7.5.2 예제 프로그램 구성
- 7.5.3 예제 코드 익히기
- 7.6 AlertDialog 프래그먼트
- 7.6.1 기본 사용법
- 7.6.2 예제 프로그램 구성
- 7.6.3 예제 코드 익히기
- 7.7 정리
- 8장 노티피케이션
- 8.1 노티피케이션의 종류
- 8.2 토스트 노티피케이션
- 8.2.1 기본 토스트 메시지 만들기
- 8.2.2 커스텀 토스트 메시지 만들기
- 8.3 상태 바 노티피케이션
- 8.3.1 노티피케이션 가이드라인
- 8.3.2 상태 바 노티피케이션 만들기
- 8.4 커스텀 노티피케이션
- 8.5 리치 노티피케이션
- 8.5.1 BigPicture 노티피케이션
- 8.5.2 BigText 노티피케이션
- 8.5.3 InboxStyle 노티피케이션
- 8.5.4 예제 코드
- 8.6 정리
- 9장 메뉴
- 9.1 메뉴 리소스
- 9.2 옵션 메뉴
- 9.3 컨텍스트 메뉴
- 9.4 서브메뉴
- 9.5 메뉴의 부가 기능
- 9.6 정리
- 10장 고급 뷰와 위젯
- 10.1 날짜 피커
- 10.1.1 날짜 피커 레이아웃 설정
- 10.1.2 날짜 피커 생성과 날짜 설정
- 10.1.3 날짜 피커를 이용한 날짜 출력
- 10.2 타임 피커
- 10.2.1 타임 피커 레이아웃 설정
- 10.2.2 타임 피커 생성과 시간 설정
- 10.2.3 타임 피커를 이용한 시간 출력
- 10.3 프로그레스 바
- 10.3.1 프로그레스 바 레이아웃 설정
- 10.3.2 액티비티 내에서 프로그레스 바 사용
- 10.4 맵 뷰
- 10.4.1 구글 맵 라이브러리 설치
- 10.4.2 구글 맵 기본 사용법
- 10.4.3 구글 맵 응용
- 10.5 웹 뷰
- 10.6 정리
- 10.1 날짜 피커
- 11장 액션 바
- 11.1 액션 바 개요
- 11.2 액션 바 디자인 가이드라인
- 11.3 액션 바 설정과 액션 아이템
- 11.3.1 액션 아이템
- 11.3.2 액션 아이템의 선택
- 11.3.3 스플릿 액션 바
- 11.3.4 앱 아이콘에 내비게이션 추가
- 11.4 태스크와 백 스택
- 11.4.1 동일 액티비티 다중 생성 문제 다루기
- 11.4.2 액션 바에서의 내비게이션 위로 가기
- 11.5 액션 뷰 추가
- 11.6 액션 프로바이더 추가
- 11.6.1 ShareProvider 사용
- 11.6.2 사용자 지정 액션 프로바이더 만들기
- 11.7 내비게이션 탭 추가
- 11.8 드롭다운 내비게이션 추가
- 11.9 액션 바 스타일
- 11.10 정리
- 12장 드래그앤드롭
- 12.1 드래그앤드롭 액션
- 12.2 복사와 붙여넣기
- 12.2.1 클립보드 프레임워크
- 12.2.2 클립보드 데이터를 텍스트로 변환
- 12.3 드래그앤드롭 프로세스
- 12.4 드래그 이벤트 다루기
- 12.4.1 드래그 셰도우
- 12.4.2 드래그앤드롭의 이벤트 처리
- 12.5 정리
- 13장 스타일과 테마
- 13.1 스타일 개요
- 13.1.1 스타일 상속
- 13.1.2 스타일 속성
- 13.2 스타일과 테마의 사용법
- 13.2.1 UI에 스타일과 테마의 적용
- 13.2.2 액티비티나 애플리케이션에 테마 적용
- 13.2.3 플랫폼 버전에 따른 테마의 선택 방법
- 13.2.4 안드로이드 플랫폼의 스타일과 테마 사용
- 13.3 시스템 테마
- 13.3.1 Holo 테마
- 13.3.2 사용자 정의 테마
- 13.4 정리
- 13.1 스타일 개요
- 14장 어댑터 뷰
- 14.1 어댑터 뷰
- 14.1.1 데이터로 레이아웃 채우기
- 14.1.2 아이템 선택 시 처리 방법
- 14.2 리스트 뷰
- 14.3 그리드 뷰
- 14.4 스피너
- 14.5 갤러리
- 14.6 자동 완성
- 14.7 정리
- 14.1 어댑터 뷰
- 15장 애플리케이션 리소스
- 15.1 리소스 관리
- 15.1.1 리소스 타입
- 15.1.2 대체 리소스
- 15.1.3 디바이스와 리소스
- 15.2 리소스 사용
- 15.2.1 코드에서 리소스 접근 방법
- 15.2.2 XML을 통한 리소스 접근 방법
- 15.3 실행 중 설정 변경
- 15.3.1 설정 변경 중 객체 유지
- 15.3.2 설정 변경 시의 직접 처리 방법
- 15.4 지역화
- 15.4.1 지역화를 고려하지 않은 예제
- 15.4.2 지역화 계획
- 15.5 정리
- 15.1 리소스 관리
- 16장 프로세스와 스레드
- 16.1 프로세스
- 16.1.1 프로세스 라이프사이클
- 16.2 스레드
- 16.2.1 작업자 스레드
- 16.2.2 외부 스레드의 접근 문제 해결
- 16.2.3 AsyncTask 활용
- 16.3 스레드 예제
- 16.3.1 예제 코드 익히기
- 16.4 정리
- 16.1 프로세스
- 17장 그래픽
- 17.1 캔버스와 그리기 객체
- 17.1.1 캔버스 그리기
- 17.1.2 뷰를 사용해 그리기
- 17.1.3 Surface View 사용
- 17.1.4 Drawables
- 17.1.5 Shape Drawables
- 17.1.6 나인패치
- 17.2 하드웨어 가속
- 17.2.1 하드웨어 가속 제어
- 17.2.2 하드웨어 가속 사용
- 17.3 정리
- 17.1 캔버스와 그리기 객체
- 18장 안드로이드 매니페스트 파일
- 18.1 매니페스트 파일의 구조
- 18.1.1 <action>
- 18.1.2 <activity>
- 18.1.3 <activity-alias>
- 18.1.4 <application>
- 18.1.5 <category>
- 18.1.6 <compatible-screens>
- 18.1.7 <data>
- 18.1.8 <grant-uri-permission>
- 18.1.9 <instrumentation>
- 18.1.10 <intent-filter>
- 18.1.11 <manifest>
- 18.1.12 <meta-data>
- 18.1.13 <path-permission>
- 18.1.14 <permission>
- 18.1.15 <permission-group>
- 18.1.16 <permission-tree>
- 18.1.17 <provider>
- 18.1.18 <receiver>
- 18.1.19 <service>
- 18.1.20 <supports-gl-texture>
- 18.1.21 <supports-screen>
- 18.1.22 <user-configuration>
- 18.1.23 <uses-feature>
- 18.1.24 <uses-library>
- 18.1.25 <uses-permission>
- 18.1.26 <uses-sdk>
- 18.2 매니페스트 파일 규약
- 18.3 매니페스트 파일의 특징
- 18.3.1 인텐트 필터
- 18.3.2 권한 설정
- 18.4 정리
- 18.1 매니페스트 파일의 구조
- 19장 액티비티와 프래그먼트
- 19.1 액티비티
- 19.1.1 액티비티 생명주기
- 19.1.2 액티비티 사용
- 19.1.3 액티비티 설정 파일 관리
- 19.1.4 액티비티 생명주기 예제
- 19.1.5 액티비티 상태 정보 예제
- 19.2 프래그먼트
- 19.2.1 프래그먼트 소개
- 19.2.2 프래그먼트 생성
- 19.2.3 프래그먼트 예제
- 19.3 정리
- 19.1 액티비티
- 20장 콘텐츠 프로바이더
- 20.1 콘텐츠 프로바이더 개요
- 20.1.1 데이터 접근 방법
- 20.2 콘텐츠 프로바이더 사용
- 20.3 콘텐츠 프로바이더 예제
- 20.4 콘텐츠 프로바이더 작성
- 20.4.1 고려 사항
- 20.4.2 데이터 저장소 설계
- 20.4.3 콘텐츠 URI 설계
- 20.4.4 콘텐츠 프로바이더 클래스의 구현
- 20.5 캘린더 프로바이더
- 20.5.1 캘린더 프로바이더 개요
- 20.5.2 캘린더 테이블 구성과 사용
- 20.5.3 이벤트 테이블 구성과 사용
- 20.5.4 참가자 테이블 구성과 사용
- 20.5.5 알람 테이블 구성과 사용
- 20.5.6 인스턴스 테이블 구성과 사용
- 20.5.7 캘린더 인텐트 구성과 사용
- 20.6 프로바이더 실습 예제
- 20.7 정리
- 20.1 콘텐츠 프로바이더 개요
- 21장 서비스
- 21.1 서비스 개요
- 21.1.1 콜백 메소드
- 21.1.2 서비스와 매니페스트
- 21.2 서비스 생성
- 21.2.1 시작 서비스 생성
- 21.2.2 포그라운드에서 서비스 실행
- 21.2.3 서비스 생명주기
- 21.2.4 서비스 실습 예제
- 21.3 바운드 서비스
- 21.3.1 바운드 서비스 생성
- 21.3.2 바인더 클래스 확장
- 21.3.3 메신저 사용
- 21.3.4 서비스 바인딩
- 21.3.5 바운드 서비스의 생명주기 관리
- 21.4 정리
- 21.1 서비스 개요
- 22장 브로드캐스트 리시버
- 22.1 인텐트와 인텐트 필터
- 22.1.1 인텐트 객체
- 22.1.2 인텐트 처리
- 22.2 브로드캐스트 개요
- 22.2.1 브로드캐스트 송수신
- 22.2.2 보안
- 22.2.3 리시버와 프로세스 생명주기
- 22.2.4 브로드캐스트 실습 예제
- 22.3 정리
- 22.1 인텐트와 인텐트 필터
- III부 고급 API 활용
- 23장 음성 통화, 문자 메시지
- 23.1 핸드폰 상태 정보 조회
- 23.1.1 주요 조회 정보
- 23.1.2 실전 예제
- 23.2 전화 걸기
- 23.3 전화 수신 처리
- 23.4 통화, 문자 이력 조회
- 23.5 문자 보내기
- 23.6 문자 캡처
- 23.7 주소록 관리
- 23.8 정리
- 23.1 핸드폰 상태 정보 조회
- 24장 멀티미디어
- 24.1 간단한 소리내기
- 24.1.1 SoundPool 사용
- 24.1.2 볼륨 관리
- 24.1.3 음향 효과 주기
- 24.2 오디오와 비디오 재생
- 24.2.1 MediaPlayer의 상태
- 24.2.2 상태 전이 메소드
- 24.2.3 실전 예제
- 24.3 오디오 녹음
- 24.3.1 주요 메소드
- 24.3.2 실전 예제
- 24.4 사진과 동영상 촬영
- 24.4.1 암시적 인텐트 사용
- 24.4.2 카메라 기능 구현 개요
- 24.4.3 사진 촬영
- 24.4.4 동영상 촬영
- 24.4.5 출력 파일의 저장 공간 처리
- 24.4.6 실전 예제
- 24.5 텍스트와 음성 간 상호 변환
- 24.5.1 텍스트를 음성으로 변환
- 24.5.2 음성을 텍스트로 전환
- 24.6 미디어스토어
- 24.7 정리
- 24.1 간단한 소리내기
- 25장 데이터 관리
- 25.1 데이터베이스
- 25.1.1 데이터베이스와 테이블 생성
- 25.1.2 레코드 추가
- 25.1.3 레코드 조회
- 25.1.4 레코드의 수정과 삭제
- 25.1.5 데이터베이스 변경 처리
- 25.1.6 데이터베이스 변경 대비
- 25.1.7 예제
- 25.2 프리프런스
- 25.2.1 프리프런스의 기본 메소드
- 25.2.2 프리프런스 구성
- 25.2.3 프리프런스에 버튼 효과 주기
- 25.2.4 프리프런스 XML 입력 값 확인
- 25.3 파일
- 25.3.1 내장 파일
- 25.3.2 외장 파일(SD 카드)
- 25.4 정리
- 25.1 데이터베이스
- 26장 애니메이션
- 26.1 프로퍼티 애니메이션
- 26.1.1 동작 방식
- 26.1.2 프로퍼티 애니메이션 API
- 26.1.3 ValueAnimator로 애니메이션 효과 주기
- 26.1.4 ObjectAnimator로 애니메이션 효과주기
- 26.1.5 애니메이션 집합
- 26.1.6 애니메이션 리스너
- 26.1.7 Keyframe 사용
- 26.1.8 커스텀 TypeEvaluator 작성
- 26.1.9 인터폴레이터
- 26.1.10 뷰에 애니메이션 효과 주기
- 26.1.11 ViewPropertyAnimator
- 26.1.12 ViewGroup의 레이아웃 변화 처리
- 26.1.13 XML로 프로퍼티 애니메이션 효과 정의
- 26.2 뷰 애니메이션
- 26.2.1 XML로 뷰 애니메이션 효과 작성
- 26.2.2 예제
- 26.3 인터폴레이터
- 26.4 프레임 애니메이션
- 26.5 정리
- 26.1 프로퍼티 애니메이션
- 27장 센서와 전원 관리
- 27.1 센서
- 27.1.1 센서 공통 프레임워크
- 27.1.2 모션 센서
- 27.1.3 방향 센서와 자세 센서
- 27.1.4 환경 센서
- 27.2 전원 관리
- 27.3 정리
- 27.1 센서
- 28장 위치 서비스와 지도
- 28.1 위치 서비스
- 28.1.1 사용자 위치 파악 개요
- 28.1.2 사용자 위치 요청
- 28.1.3 배터리 소모를 줄이는 방법
- 28.1.4 위치 기반 앱의 동작 시나리오
- 28.1.5 위치 공급자 종류와 선택
- 28.1.6 근접 알림 이용
- 28.1.7 주소와 위경도 사이의 변환
- 28.1.8 에뮬레이터로 위치 기반 앱 테스트
- 28.2 지도
- 28.2.1 지도 기반 애플리케이션 만들기
- 28.2.2 지도 관련 클래스
- 28.2.3 현재 위치 표시
- 28.3 정리
- 28.1 위치 서비스
- 29장 앱 위젯과 라이브 월 페이퍼
- 29.1 앱 위젯
- 29.1.1 앱 위젯 구성 요소
- 29.1.2 매니페스트 파일에 앱 위젯 선언
- 29.1.3 앱 위젯 메타 정보 작성
- 29.1.4 앱 위젯 레이아웃 작성
- 29.1.5 앱 위젯 마진 고려
- 29.1.6 앱 위젯 공급자 작성
- 29.1.7 앱 위젯 설정 액티비티 작성
- 29.1.8 미리보기 이미지 사용
- 29.1.9 컬렉션을 지원하는 앱 위젯
- 29.1.10 컬렉션 지원 앱 위젯 예제
- 29.2 라이브 월 페이퍼(라이브 배경 화면)
- 29.2.1 월 페이퍼 서비스 작성
- 29.2.2 월 페이퍼 리소스 작성
- 29.3 정리
- 29.1 앱 위젯
- 30장 디바이스 간 통신
- 30.1 블루투스
- 30.1.1 블루투스 클래스 개요
- 30.1.2 블루투스를 위한 권한 등록
- 30.1.3 블루투스 사용 가능 여부 확인
- 30.1.4 디바이스 확인
- 30.1.5 디바이스 연결
- 30.1.6 데이터 읽고 쓰기
- 30.1.7 블루투스 예제 분석
- 30.2 NFC
- 30.2.1 태그 디스패치 시스템
- 30.2.2 매니페스트 작성
- 30.2.3 태그 정보 추출
- 30.2.4 태그 정보 생성
- 30.2.5 안드로이드 애플리케이션 레코드(AAR)
- 30.2.6 안드로이드 빔을 사용한 태그 전송
- 30.3 와이파이 다이렉트
- 30.3.1 와이파이 다이렉트 개요
- 30.3.2 와이파이 다이렉트 API
- 30.3.3 와이파이 다이렉트 이벤트용 브로드캐스트 리시버 등록
- 30.3.4 와이파이 다이렉트 예제 분석
- 30.4 정리
- 30.1 블루투스
- 31장 구글 앱 엔진과 디바이스 간 통신
- 31.1 구글 앱 엔진 사용
- 31.1.1 개요
- 31.1.2 사전 준비 작업
- 31.1.3 앱 엔진 모듈 작성
- 31.1.4 로컬 PC에서 앱 엔진 모듈 테스트
- 31.1.5 클라이언트용 jar 배포하기
- 31.1.6 1-N 관계 엔터티 작성
- 31.1.7 구글 앱 엔진에서 애플리케이션 생성과 배포, 테스트
- 31.2 클라이언트 모듈 작성
- 31.2.1 외부 라이브러리 포함하기
- 31.2.2 통신 담당 클래스 작성
- 31.2.3 액티비티 클래스 작성
- 31.3 정리
- 31.1 구글 앱 엔진 사용
- 32장 GCM 서비스
- 32.1 GCM 사전 준비 작업
- 32.2 GCM 서비스의 주요 기능
- 32.3 GCM 아키텍처
- 32.4 GCM의 라이프 싸이클 흐름
- 32.5 GCM을 사용하는 안드로이드 애플리케이션 작성
- 32.5.1 GCM을 위한 매니페스트 파일 작성
- 32.5.2 GCM 등록
- 32.5.3 GCM으로부터의 메시지 처리
- 32.5.4 GCM 개발과 테스트 가이드라인
- 32.6 써드파티 애플리케이션 서버
- 32.6.1 GCM을 사용하는 서버 애플리케이션 작성
- 32.7 구글 gcm 데모 분석
- 32.8 GCM과 C2DM 차이점
- 32.9 정리
- 33장 SNS 활용
- 33.1 SNS의 개요
- 33.2 트위터 연동
- 33.2.1 트위터 API 설정
- 33.2.2 트위터의 oAuth 인증 처리
- 33.2.3 트위터 연동 애플리케이션 개발
- 33.3 페이스북 연동
- 33.3.1 Facebook 안드로이드 라이브러리 다운로드
- 33.3.2 페이스북 앱 등록
- 33.3.3 페이스북 연동 앱 개발
- 33.4 정리
- IV부 실전 편
- 34장 앱 엔진과 LBS를 이용한 iKeeper
- 34.1 스토리 보드 작성
- 34.2 애플리케이션 설계
- 34.3 애플리케이션 구현
- 34.4 정리
- 35장 선형 가속도계와 애니메이션 효과를 사용한 BabyShake
- 35.1 스토리 보드 작성
- 35.2 애플리케이션 설계
- 35.3 애플리케이션 구현
- 35.4 정리
- 36장 NFC와 블루투스를 이용한 음악 공유 앱
- 36.1 스토리보드 작성
- 36.2 애플리케이션 설계
- 36.3 애플리케이션 구현
- 36.3.1 안드로이드 빔코드 추가
- 36.3.2 블루투스 연결 방법
- 36.3.3 미디어 플레이와 음악 파일 전송 방법
- 36.3.4 액티비티 생명주기 관련 코드
- 36.4 정리
- 37장 앱스토어
- 37.1 구글 플레이
- 37.2 SK T스토어
- 37.3 정리
- 38장 광고 플랫폼
- 38.1 구글 애드몹
- 38.1.1 애드몹 계정 만들기
- 38.1.2 사이트 살펴보기
- 38.2 다음 아담
- 38.2.1 아담 계정 만들기
- 38.2.2 사이트 살펴보기
- 38.3 정리
- 38.1 구글 애드몹
- 39장 개인 앱 비즈니스
- 39.1 무료 애플리케이션과 유료 애플리케이션
- 39.2 광고 연동
- 39.3 수익금 가져오기
- 39.3.1 ACH/Wire 전신송금
- 39.3.2 페이팔
- 39.4 정리
- 『안드로이드 포렌식』
- 1장 안드로이드와 모바일 포렌식
- 소개
- 안드로이드 플랫폼
- 안드로이드의 역사
- 구글의 전략
- 리눅스와 오픈소스 소프트웨어와 포렌식
- 리눅스의 역사
- AOSP 라이선스
- 개발 프로세스
- 포렌식에서 오픈소스의 가치
- AOSP 다운로드 및 컴파일
- 국제화
- 유니코드
- 키보드
- 커스텀 브랜치
- 안드로이드 마켓
- 앱 설치
- 애플리케이션 통계
- 안드로이드 포렌식
- 도전 과제들
- 정리
- 참고 문헌
- 2장 안드로이드 하드웨어 플랫폼
- 소개
- 핵심 요소
- CPU
- 베이스밴드 모뎀/무선
- 메모리(RAM, NAND 플래시)
- GPS
- 무선(와이파이와 블루투스)
- SD 카드
- 스크린
- 카메라
- 키보드
- 배터리
- USB
- 가속도계/자이로스코프
- 스피커/마이크
- 다양한 기기 유형
- 스마트폰
- 태블릿
- 넷북
- 구글 TV
- 자동차(In-board)
- GPS
- 그 밖의 기기
- ROM과 부트 로더
- Power On & On-Chip 부트 ROM 코드 실행
- 부트 로더(IPL/SPL)
- 리눅스 커널
- init 프로세스
- 자이고트와 달빅
- 시스템 서버
- 제조사
- 안드로이드 업데이트
- 커스텀 유저 인터페이스
- 안드로이드 기기 애프터마켓
- 안드로이드 기기
- 티모바일 G1
- 모토로라 드로이드
- HTC 인크레더블
- 구글 넥서스 원
- 정리
- 참고문헌
- 3장 안드로이드 SDK와 ADB
- 소개
- 안드로이드 플랫폼
- 안드로이드 플랫폼별 설명
- SDK
- SDK 릴리스 히스토리
- SDK 설치
- 안드로이드 가상 기기(에뮬레이터)
- 안드로이드 OS 아키텍처
- 달빅 VM
- 네이티브 코드 개발
- 안드로이드 보안 모델
- 포렌식과 SDK
- 안드로이드 기기 연결
- USB 인터페이스
- ADB
- 정리
- 참고 문헌
- 4장 안드로이드 파일시스템과 데이터 구조
- 소개
- 안드로이드 데이터
- 어떤 데이터가 저장되는가
- 앱 데이터 저장소 디렉토리의 구조
- 데이터가 어떻게 저장되는가
- 메모리 유형
- RAM
- 파일시스템
- rootfs, devpts, sysfs, cgroup 파일시스템
- proc
- tmpfs
- EXT 파일시스템
- FAT32/VFAT
- YAFFS2
- 마운트된 파일시스템
- 마운트된 파일시스템
- 정리
- 참고 문헌
- 5장 안드로이드 기기, 데이터, 앱 보안
- 소개
- 데이터 탈취 대상과 공격 벡터
- 공격 대상으로서의 안드로이드 기기
- 공격 벡터로서의 안드로이드 기기
- 데이터 저장소
- 레코딩 기기
- 보안 고려사항
- 보안 철학
- 미 연방 컴퓨터 범죄에 대한 법규
- 오픈소스와 클로즈드 소스
- 암호화된 NAND 플래시
- 개인 보안 전략
- 기업 보안 전략
- 정책
- 비밀번호/패턴/PIN 락
- 원격 기기 초기화
- 최신 버전의 소프트웨어로 업그레이드
- 원격 기기 관리 기능
- 애플리케이션과 기기 감사
- 앱 개발 보안 전략
- 모바일 앱 보안 테스트
- 앱 보안 전략
- 정리
- 참고 문헌
- 6장 안드로이드 포렌식 기술
- 소개
- 조사의 유형
- 논리적인 기술과 물리적인 기술의 차이
- 분석 대상 기기의 변경
- 안드로이드 기기의 처리 절차
- 기기의 안전
- 네트워크 격리
- 패스코드 회피 방법
- 안드로이드 USB 대용량 저장 장치
- SD 카드와 eMMC
- SD 카드/eMMC의 포렌식 이미지 만들기
- 논리적 기술
- ADB Pull
- 백업 분석
- AFLogical
- 상업용 제품
- 물리적 기술
- 하드웨어 기반의 물리적 기술
- JTAG
- Chip-off
- 소프트웨어 기반의 물리적 기술
- AFPhysical
- 정리
- 참고문헌
- 소개
- 7장 안드로이드 애플리케이션과 포렌식 분석
- 소개
- 분석 기술
- 타임라인 분석
- 파일시스템 분석
- 파일 카빙
- Strings
- Hex: 포렌식 분석가의 좋은 친구
- 안드로이드 디렉토리 구조
- FAT 포렉식 분석
- FAT 타임라인 분석
- FAT 추가 분석
- FAT 분석 노트
- YAFFS2 포렌식 분석
- YAFFS2 타임라인 분석
- YAFFS2 파일시스템 분석
- YAFFS2 파일 카빙
- YAFFS2 Strings 분석
- YAFFS2 분석 노트
- 안드로이드 앱 분석
- Messaging(sms와 mms)
- MMS Helper Application
- Browser
- Contacts
- Media Scanner
- YouTube
- Cooliris Media Gallery
- Google Maps
- Gmail
- Adobe Reader
- 정리