본문 바로가기

카테고리 없음

알짜만 골라 배우는 안드로이드 프로그래밍 2


내용이 번잡해서 눈에 잘 안들어 옵니다. 전에 산책이 초보자용이라 여기서 TabView, ListView 에 대한 내용이 봤는데, 탭뷰 내용이 너무 심플하네요. 리스트뷰가 그나마 자세하게 썼더군요. 구글링하니 블로그에 더 자세히 잘 나온 곳이 있더군요. 근데 sqlite 부분은 너무 썰렁합니다. 예제 코드도 없이sqlite에대한 설명도 하고 끝입니다. 여러 부분을다뤘지만 이런 것도 있다 저런 것도 있다는 식은 단편적인 내용입니다. 어떤 예제를 체계적으로 진행했으면 하는 아쉬움이 듭니다.
안드로이드 2 내용을 업데이트한 개정판으로 다시 찾아온 이 책을 선택해준 데 깊이 감사한다. 이 책은 안드로이드 2 환경에서 애플리케이션을 개발하고 고급 애플리케이션 개발 단계로 쉽게 넘어가도록 돕는 데 목표를 뒀다. 안드로이드는 필요한 기능을 이미 충분히 갖추고 있으며 안드로이드가 제공하는 다양한 기능을 통해 상상에서나 나올 법한 멋지고 특별한 애플리케이션을 얼마든지 작성할 수 있다.

안드로이드 2는 안드로이드 역사상 가장 중요한 버전의 하나라고 볼 수 있으며, 따라서 안드로이드 2 환경에 완벽하게 적응할 수 있도록 초기에 방향을 잘 잡아야 한다. 이 책에서는 안드로이드로 할 수 있는 일에 대해 알아보고, 이런 기능을 모아 실제로 구현해내는 방법을 보여준다. 기초를 단단하게 다지고 나서 그저 약간의 시간과 창의성만 있으면 유용하고 인기 있는 프로그램을 얼마든지 만들 수 있다.


1장 개요
안드로이드 프로그램 구조
액티비티
컨텐트 프로바이더
서비스
인텐트
사용 가능한 구성 요소
데이터 보관
네트웍
멀티미디어
GPS
전화 서비스
개발환경 준비
안드로이드 SDK 설치
개발환경 설정
이클립스 플러그인 설치
안드로이드 가상 기기 생성

2장 프로젝트와 타겟
필요한 작업
프로젝트 생성
프로젝트 구조
루트 디렉토리
생성되는 내용
그 밖의 디렉토리
결과로 얻는 내용
매니페스트 파일
루트 엘리먼트
권한, 기본 연동 요소, 애플리케이션
애플리케이션 엘리먼트
SDK 버전
버전=컨트롤
에뮬레이터와 타겟
가상 장비
타겟 지정

3장 애플리케이션 작성
프로젝트 생성
액티비티 분석
빌드와 실행

4장 XML 레이아웃
XML 기반 레이아웃
XML로 레이아웃을 지정하는 이유
XML 레이아웃 파일 구조
엘리먼트 ID
자바 코드와 연결하는 방법
종합정리

5장 기본 위젯
레이블
버튼
이미지
입력 필드
체크 박스
라디오 버튼

유용한 속성
유용한 메소드
색깔

6장 컨테이너
LinearLayout
개념과 속성
LinearLayout 예제
RelativeLayout
개념과 속성
RelativeLayout 예제
TableLayout
개념과 속성
TableLayout 예제
스크롤

7장 선택 기능 위젯
공통의 인터페이스 어댑터
리스트 예제
스핀 컨트롤
그리드
입력 필드: 자동 완성
갤러리

8장 리스트 고급 활용
가장 간단한 작업
동적인 내용
성능 개선
convertView 활용
홀더 패턴
원하는 대로 만들기
코드 리팩토링
CursorAdapter

9장 고급 위젯과 컨테이너
날짜, 색상 선택
시계
진행상태 표시
입력 슬라이더

탭 구성 요소
주의할 점
연결과 탭 완성
동적으로 탭 추가
인텐트와 뷰
플리퍼
수동 넘김
동적으로 내용 추가
자동 넘김
슬라이딩 서랍
그 밖의 위젯

10장 입력 방식 프레임웍
키보드의 종류
커스터마이징
입력 완료 버튼
레이아웃 조정
드보락 키보드

11장 메뉴
메뉴 종류
옵션 메뉴
메뉴 항목, 서브메뉴 추가
컨텍스트 메뉴
메뉴 예제
메뉴 인플레이션
메뉴 XML의 구조
메뉴 관련 속성
메뉴 인플레이션

12장 글꼴
기본 포함 글꼴
추가 글꼴
특이한 글자

13장 웹킷 브라우저
단순한 브라우저
원하는 내용 표시
브라우저 내비게이션
WebViewClient
설정과 옵션

14장 팝업 메시지
토스트
경고창
팝업 메시지 예제

15장 스레드
Handler 객체
Message 객체
Runnable 객체
Handler 없이 실행
사용자 인터페이스 스레드
비동기 작업
이론적 배경
AsyncTask, 제네릭, 가변 인자
AsyncTask 구조
백그라운드 작업 예제
주의해야 할 점

16장 액티비티 생명주기
액티비티 상태
액티비티 생명주기
onCreate(), onDestroy()
onStart(), onRestart(), onStop()
onPause(), onResume()
부드러운 상태 변화

17장 인텐트 필터
인텐트
인텐트 구조
인텐트 라우팅
인텐트 생성
인텐트 리시버
일시정지 문제

18장 액티비티 실행
액티비티 종류
실행
인텐트 작성
호출
탭 브라우징

19장 화면 회전
종료 및 재시작
가로보기, 세로보기
더 많은 정보 보관
직접 처리하는 회전 작업
화면 고정
가속도계만 사용

20장 리소스
리소스의 종류
문자열
일반 문자열
문자열 포매팅
화면 표시 스타일
스타일이 적용된 포매팅
이미지
XML
기타 리소스
크기
색깔
배열
환경에 맞는 리소스 선택

21장 환경설정
원하는 값 추출
환경설정 관리
환경설정 XML
환경설정 기능 제공
모양새 갖추기
환경설정 팝업

22장 로컬 데이터베이스
데이터베이스 예제
SQLite
기초
테이블 준비
데이터 추가
데이터 불러오기
데이터 직접 다루기

23장 파일
고정된 파일
읽고 쓰기

24장 외부 자바 라이브러리
제한 사항
Ant와 JAR
스크립트 활용
기타 사항
스크립트 리뷰

25장 인터넷 연결
REST
기본 HTTP 작업
응답 분석
고려 사항

26장 컨텐트 프로바이더
Uri 구성
Uri 생성
쿼리 실행
데이터 자동 적용
데이터 추가와 변경
BLOB 문제

27장 컨텐트 프로바이더 구현
내부 구성 요소
데이터 타입
컨텐트 프로바이더 작성
1단계: 컨텐트 프로바이더 클래스 생성
2단계: Uri 지정
3단계: 속성 정의
4단계: 매니페스트 설정
변경 사항 알림

28장 권한
권한 확보
권한 요청
AndroidManifest.xml 파일에 권한 명시
그 밖의 권한 요청 방법
자세한 문서와 설명

29장 서비스 구현
서비스 클래스
서비스 인스턴스
AndroidManifest.xml
IPC 클라이언트 호출
콜백
인텐트 브로드캐스트
원격 서비스, 프로그램의 나머지 부분

30장 서비스 호출
바인딩
데이터 수신

31장 사용자 알림
알림 메시지 종류
기기 알림 메시지
아이콘
알림 메시지 예제

32장 위치 기반 서비스
위치 정보 프로바이더
위치 확인
변경 사항 업데이트
목표 지점 도착 알림
테스트

33장 지도, MapView, MapActivity
구글 지도 사용권 계약
SDK 애드온
구글 지도 기초
지도 제어 기능
확대/축소 배율
중심 이동
위성 사진 지도
레이어
오버레이 클래스
ItemizedOverlay 표시
화면 터치 처리
현재 위치와 방향
API 키 발급

34장 전화
TelephonyManager
전화 걸기

35장 개발 도구
계층 탐색기
달빅 디버깅
로그
파일 업로드, 다운로드
화면 캡처
위치 지정
전화 걸기, SMS 발송
SD카드
SD카드 이미지 생성
SD카드 삽입

36장 다양한 화면 크기
기본 화면 크기
화면 크기별 대응
위치보다는 규칙
물리적인 크기
픽셀 이외의 단위
그림 크기
기기별 레이아웃
supports-screens
리소스, 리소스 집합
화면 크기 파악
해상도와 실제 크기
해상도 문제
해상도 조절
실제 기기 접속
레이아웃 변경
메뉴 대신 버튼
탭 대신 액티비티
액티비티 통합
예제: EU4You
첫 번째 버전
아이콘 문제 해결
빈 공간 활용
레이아웃 재사용
화면 크기 관련 버그

37장 기기별 차이점
명시적인 대응
버튼 확인
시장 규모
기기별 차이점
Archos 5 안드로이드 인터넷 태블릿
모토로라 CLIQ/DEXT
모토로라 드로이드/마일스톤
구글/HTC 넥서스원
모토로라 백플립

38장 플랫폼 업그레이드
브랜드 관리
그 외의 문제
위젯 계층 구조
리소스 변경
API 변경
운영체제 버전 확인
API 감싸기

39장 안드로이드 관련 정보 얻기
질문과 대답
안드로이드 소스 코드
최신 소식