책제목은 "알짜만 골라 배우는 안드로이드 프로그래밍 2" 이다.
과연 알짜만 골라 배울 수 있을까? 하는 의문이 들었지만.. 훗
여기 글쓴이의 말이 있으니 참고해보자
★ 개정판 옮긴이의 말 ★
『알짜만 골라 배우는 안드로이드 프로그래밍』이 처음 출간된 지 1년이 다 되어 갑니다. 그간 안드로이드 SDK는 2.0을 거쳐 최근 2.2 버전까지 발전한 상태입니다. 여러 가지 기능도 많이 추가되고 성능도 굉장히 높아졌습니다. 안드로이드를 탑재한 단말기도 구글의 넥서스원을 비롯해 삼성의 갤럭시S까지 선택의 폭이 넓어지고 있습니다. 2010년 연말에는 3.0 버전의 SDK가 발표된다는 예상도 있습니다만, 안드로이드 개발을 시작해야 할 시점은 바로 지금입니다. 『알짜만 골라 배우는 안드로이드 프로그래밍 2』는 자바 개발자가 가장 빠르게 안드로이드 환경에 적응하고 개발할 수 있도록 도와줍니다. 안드로이드의 주요 기능을 간략한 예제로 알기 쉽게 설명하며, 대부분 예제는 몇 분 정도만 코드를 작성하면 충분히 실행할 수 있습니다. 새로운 버전의 SDK에 대응해 함께 발전한 개정판 『알짜만 골라 배우는 안드로이드 프로그래밍 2』과 함께 모바일 환경에서 앞서 나가시기 바랍니다.
안드로이드 프로그래밍을 처음접하는 나로써 느낀점을 적어보면...
(개발을 해보고자 하시는 분들에게 하고싶은말)
1. 컴퓨터 전공자는 쉽게 따라할 수 있을만한 수준이다.
"머 이정도면 믿어보고 할만하겠네. "
이런 생각은 결코 자만심이 아니다.
그렇다고 내가 뛰어난 수준의 프로그래머도 아니다. 객관적으로 봤을때...
현재 챕터4까지는 알아들을 수 있는정도니까 말이다.
2. 컴퓨터프로그래밍에 대한 이해가 부족하다면 접근하기 어려울것이다.
하지만 열정과 시간이 있다면 충분히 할 수 있다고 생각한다.
내가 느낀 주관적인 생각이니 참고만 하도록 하자.
자 그럼..챕터의 구성을 한번보도록 하자.
목차를 보고 싶으시면 "더보기"를 누르세요.
1장 개요
___안드로이드 프로그램 구조
______액티비티
______컨텐트 프로바이더
______서비스
______인텐트
___사용 가능한 구성 요소
______데이터 보관
______네트웍
______멀티미디어
______GPS
______전화 서비스
___개발환경 준비
______안드로이드 SDK 설치
______개발환경 설정
______이클립스 플러그인 설치
______안드로이드 가상 기기 생성
2장 프로젝트와 타겟
___필요한 작업
___프로젝트 생성
___프로젝트 구조
______루트 디렉토리
______생성되는 내용
______그 밖의 디렉토리
______결과로 얻는 내용
___매니페스트 파일
______루트 엘리먼트
______권한, 기본 연동 요소, 애플리케이션
______애플리케이션 엘리먼트
______SDK 버전
______버전=컨트롤
___에뮬레이터와 타겟
______가상 장비
______타겟 지정
3장 애플리케이션 작성
___프로젝트 생성
___액티비티 분석
___빌드와 실행
4장 XML 레이아웃
___XML 기반 레이아웃
___XML로 레이아웃을 지정하는 이유
___XML 레이아웃 파일 구조
___엘리먼트 ID
___자바 코드와 연결하는 방법
___종합정리
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장 다양한 화면 크기
___기본 화면 크기
___화면 크기별 대응
______위치보다는 규칙
______물리적인 크기
______픽셀 이외의 단위
______그림 크기
___기기별 레이아웃
______
______리소스, 리소스 집합
______화면 크기 파악
___해상도와 실제 크기
______해상도 문제
______해상도 조절
______실제 기기 접속
___레이아웃 변경
______메뉴 대신 버튼
______탭 대신 액티비티
______액티비티 통합
___예제: EU4You
______첫 번째 버전
______아이콘 문제 해결
______빈 공간 활용
______레이아웃 재사용
___화면 크기 관련 버그
37장 기기별 차이점
___명시적인 대응
___버튼 확인
___시장 규모
___기기별 차이점
______Archos 5 안드로이드 인터넷 태블릿
______모토로라 CLIQ/DEXT
______모토로라 드로이드/마일스톤
______구글/HTC 넥서스원
______모토로라 백플립
38장 플랫폼 업그레이드
___브랜드 관리
___그 외의 문제
______위젯 계층 구조
______리소스 변경
___API 변경
______운영체제 버전 확인
______API 감싸기
39장 안드로이드 관련 정보 얻기
___질문과 대답
___안드로이드 소스 코드
___최신 소식
장장 500페이지가 넘어간다.
600페이지에 가까운 페이지수.. 그리고 여러챕터들
하지만 한번끝까지본다면 개념이해는 가뿐하게 할 수 있을것같다.
빨리빨리 읽어 안드로이드에 한발짝 가까이 가보자. ^^
물론 계속 독후감 후기는 update할 예정이다.
독후감 1.(2011.10.17)
1, 2, 3장은 안드로이드 개발을 위한 환경셋팅에 대한 소개이다. [각주:1]
이클립스를 설치하고, sdk, adk(?) 등을 설치하는법을 소개한다.
독후감 2.(2011.10.19)
4, 5장은 기본컨트롤인 체크박스, 버튼, 라이오버튼, 뷰어 에 대하여 설명을 하면서
화면에 어떻게 하면 컨트롤들을 보여줄수 있게 되는 부분과
java소스 코드가 아닌 xml로 화면에 컨트롤을 뿌려주게 되는 부분의 설명을 하고 있다.