책 소개
1. 안드로이드 프로그래밍을 효과적으로 이해하는 데 꼭 필요한 내용만 선별해서 다룬다.
2. 실습을 통해 안드로이드 핵심 개념을 자연스럽게 쌓을 수 있도록 다양한 예제와 프로젝트로 구성했다.
3. 체계적인 예제 프로그램을 단계별로 완성해가면서 안드로이드 프로그래밍에 대한 이해도를 높인다.
4. 최신 안드로이드 버전인 Android 7.1과 Android 8.0을 지원하되 다른 버전에서도 실습 가능하다.
체계적인 실습 예제를 통해 익히는 안드로이드 프로그래밍
이 책은 한정된 시간과 분량 내에서 안드로이드 프로그래밍의 핵심 주제를 균형있게
담아내는 데 중점을 두고 크게 네 가지 관점에서 구성했습니다
작가 소개
저 : 김선우
서울대학교 천문학과와 컴퓨터공학부를 졸업하고, 동 대학원에서 컴퓨터공학을 전공했다. 비트교육센터 강사로 윈도우·리눅스 분야 교육을 했으며, 현재는 이레이어 시스템(eLayer system) 수석 연구원으로 삼성전자를 비롯한 기업과 정부기관에서 윈도우·리눅스·임베디드 시스템·모바일 기술 교육을 하면서 교육 관련 개발도 병행하고 있다. 저서로 『IT CookBook, TCP/IP 윈도우 소켓 프로그래밍』 (한빛아카데미, 2011), 『ITCookBook, 윈도우 네트워크 프로그래밍』 (한빛미디어, 2004), 공저로 『IT CookBook, 윈도우 프로그래밍』 (한빛아카데미, 2014), 역서로 『찰스페졸드의 Programming Windows, 5th Edition』 (한빛미디어, 2004)가 있다.
목 차
Chapter 01 앱 개발 시작
1.1 안드로이드란?
1.2 개발 환경 설정
[실습 1-1] 안드로이드 스튜디오 설치
[실습 1-2] 안드로이드 SDK 설치
[실습 1-3] 환경 변수 설정 변경
[실습 1-4] Hello 프로젝트 생성
[실습 1-5] AVD 생성, 실행, 설정 변경
[실습 1-6] 앱 설치와 제거
1.3 프로젝트 구조 분석
[실습 1-7] 버튼 추가
[실습 1-8] 토스트 메시지 출력
1.4 안드로이드 스튜디오 기초
요약
연습문제
Chapter2 레이아웃
2.1 뷰 = 레이아웃 + 위젯
[실습 2-1] ViewAttr1
[실습 2-2] ViewAttr2
[실습 2-3] DimensionUnits1
[실습 2-4] DimensionUnits2
[실습 2-5] MarginPadding
2.2 레이아웃
[실습 2-6] FrameLayout1
[실습 2-7] LinearLayout1
[실습 2-8] LinearLayout2
[실습 2-9] RelativeLayout1
[실습 2-10] RelativeLayout2
[실습 2-11] TableLayout1
[실습 2-12] GridLayout1
요약
연습문제
앱 프로젝트 1 - 계산기(1/3)
Chapter 03 위젯
3.1 텍스트뷰
[실습 3-1] TextView1
[실습 3-2] CheckedTextView1
[실습 3-3] EditText1
3.2 버튼
[실습 3-4] CheckBox1
[실습 3-5] RadioButton1
[실습 3-6] ToggleButton1
3.3 이미지뷰
[실습 3-7] ImageView1
[실습 3-8] ImageButton1
3.4 프로그레스바
[실습 3-9] ProgressBar1
[실습 3-10] RatingBar1
[실습 3-11] SeekBar1
요약
연습문제
앱 프로젝트 1 - 계산기(2/3)
Chapter 04 액티비티(I)
4.1 이벤트 로깅과 logcat
[실습 4-1] LogTest
[실습 4-2] PrintStreamTest
4.2 액티비티 생명 주기
[실습 4-3] ActivityCycle
4.3 액티비티 상태 유지
[실습 4-4] ActivityRecreate
[실습 4-5] SaveState
4.4 대체 리소스 정의
[실습 4-6] NinePatch
[실습 4-7] AlternativeRsrc
요약
연습문제
앱 프로젝트 1 - 계산기(3/3)
Chapter 05 그래픽 출력과 UI 이벤트 처리
5.1 그래픽 출력
[실습 5-1] GraphicBasics
[실습 5-2] GraphicPrimitives
[실습 5-3] BitmapBasics
[실습 5-4] Xfermode
5.2 UI 이벤트 처리
[실습 5-5] ListenerHandler
[실습 5-6] KeyTest
[실습 5-7] TouchTest
요약
연습문제
앱 프로젝트 2 - 그림판(1/3)
6장. 메뉴와 대화상자
6.1 메뉴
[실습 6-1] MenuOption1
[실습 6-2] MenuOption2
[실습 6-3] MenuContext
[실습 6-4] MenuPopup
6.2 대화상자
[실습 6-5] DialogAlert
[실습 6-6] DialogDateTime
[실습 6-7] DialogCustom
요약
연습문제
앱 프로젝트 2 - 그림판(2/3)
Chapter 07 리소스
7.1 애니메이션
[실습 7-1] FrameAnim
[실습 7-2] TweenAnim
7.2 스타일과 테마
[실습 7-3] StylesTest
[실습 7-4] ThemesTest
7.3 배열 리소스
[실습 7-5] ArraysTest
7.4 값 리소스
[실습 7-6] ValuesTest
요약
연습문제
앱 프로젝트 2 - 그림판(3/3)
Chapter 08 액티비티(II)
8.1 인텐트 개념
[실습 8-1] ExplicitIntents
[실습 8-2] ImplicitIntents
8.2 인텐트 활용
[실습 8-3] DataExchange
[실습 8-4] Notifications
요약
연습문제
앱 프로젝트 3 - 론처(1/3)
Chapter 09 어댑터뷰
9.1 기본 개념
9.2 리스트뷰
[실습 9-1] ListViewTest1
[실습 9-2] ListViewTest2
[실습 9-3] ListViewTest3
9.3 그리드뷰
[실습 9-4] GridViewTest
9.4 스피너
[실습 9-5] SpinnerTest
9.5 스택뷰
[실습 9-6] StackViewTest
요약
연습문제
앱 프로젝트 3 - 론처(2/3)
Chapter 10 서비스와 브로드캐스트 수신기
10.1 서비스
[실습 10-1] StartedService
[실습 10-2] BoundService
[실습 10-3] LooperHandler1
[실습 10-4] LooperHandler2
10.2 브로드캐스트 수신기
[실습 10-5] ReceiverTest
[실습 10-6] DetectSystemEvent
요약
연습문제
앱 프로젝트 3 - 론처(3/3)
Chapter 11 데이터 저장과 콘텐트 제공자
11.1 프레퍼런스
[실습 11-1] UsingPreferences
[실습 11-2] SaveAppSettings
11.2 파일
[실습 11-3] UsingInternalStorage
[실습 11-4] UsingExternalStorage
11.3 데이터베이스
[실습 11-5] UsingDatabase
11.4 콘텐트 제공자
[실습 11-6] UsingProviders
요약
연습문제
앱 프로젝트 4 - 탐사 로봇 앱(1/3)
Chapter 12 오디오와 카메라
12.1 오디오 재생과 기록
[실습 12-1] PlayAudio
[실습 12-2] RecordAudio
12.2 사진 촬영
[실습 12-3] TakePicture1
[실습 12-4] TakePicture2
요약
연습문제
앱 프로젝트 #4 - 탐사 로봇 앱(2/3)
Chapter 13 네트워크와 지도
13.1 TCP/IP 소켓 통신
[실습 13-1] EchoServer
[실습 13-2] EchoClient
13.2 다운로드 관리자
[실습 13-3] GetLocation
13.3 구글 지도
[실습 13-4] BasicMap1
[실습 13-5] BasicMap2
요약
연습문제
앱 프로젝트 #4 - 탐사 로봇 앱(3/3)
부록
- 단순 변심인 경우 : 상품 수령 후 7일 이내 신청
- 상품 불량/오배송인 경우 : 상품 수령 후 3개월 이내, 혹은 그 사실을 알게 된 이후 30일 이내 반품 신청 가능
| 반품사유 | 반품 배송비 부담자 |
|---|---|
| 단순변심 | 고객 부담이며, 최초 배송비를 포함해 왕복 배송비가 발생합니다. 또한, 도서/산간지역이거나 설치 상품을 반품하는 경우에는 배송비가 추가될 수 있습니다. |
| 고객 부담이 아닙니다. |
| 진행 상태 | 결제완료 | 상품준비중 | 배송지시/배송중/배송완료 |
|---|---|---|---|
| 어떤 상태 | 주문 내역 확인 전 | 상품 발송 준비 중 | 상품이 택배사로 이미 발송 됨 |
| 환불 | 즉시환불 | 구매취소 의사전달 → 발송중지 → 환불 | 반품회수 → 반품상품 확인 → 환불 |
- 결제완료 또는 배송상품은 1:1 문의에 취소신청해 주셔야 합니다.
- 특정 상품의 경우 취소 수수료가 부과될 수 있습니다.
| 결제수단 | 환불시점 | 환불방법 |
|---|---|---|
| 신용카드 | 취소완료 후, 3~5일 내 카드사 승인취소(영업일 기준) | 신용카드 승인취소 |
| 계좌이체 |
실시간 계좌이체 또는 무통장입금 취소완료 후, 입력하신 환불계좌로 1~2일 내 환불금액 입금(영업일 기준) |
계좌입금 |
| 휴대폰 결제 |
당일 구매내역 취소시 취소 완료 후, 6시간 이내 승인취소 전월 구매내역 취소시 취소 완료 후, 1~2일 내 환불계좌로 입금(영업일 기준) |
당일취소 : 휴대폰 결제 승인취소 익월취소 : 계좌입금 |
| 포인트 | 취소 완료 후, 당일 포인트 적립 | 환불 포인트 적립 |
- 단순변심으로 인한 반품 시, 배송 완료 후 7일이 지나면 취소/반품 신청이 접수되지 않습니다.
- 주문/제작 상품의 경우, 상품의 제작이 이미 진행된 경우에는 취소가 불가합니다.
- 구성품을 분실하였거나 취급 부주의로 인한 파손/고장/오염된 경우에는 취소/반품이 제한됩니다.
- 제조사의 사정 (신모델 출시 등) 및 부품 가격변동 등에 의해 가격이 변동될 수 있으며, 이로 인한 반품 및 가격보상은 불가합니다.
- 뷰티 상품 이용 시 트러블(알러지, 붉은 반점, 가려움, 따가움)이 발생하는 경우 진료 확인서 및 소견서 등을 증빙하면 환불이 가능하지만 이 경우, 제반 비용은 고객님께서 부담하셔야 합니다.
- 각 상품별로 아래와 같은 사유로 취소/반품이 제한 될 수 있습니다.
| 상품군 | 취소/반품 불가사유 |
|---|---|
| 의류/잡화/수입명품 | 상품의 택(TAG) 제거/라벨 및 상품 훼손으로 상품의 가치가 현저히 감소된 경우 |
| 계절상품/식품/화장품 | 고객님의 사용, 시간경과, 일부 소비에 의하여 상품의 가치가 현저히 감소한 경우 |
| 가전/설치상품 | 전자제품 특성 상, 정품 스티커가 제거되었거나 설치 또는 사용 이후에 단순변심인 경우, 액정화면이 부착된 상품의 전원을 켠 경우 (상품불량으로 인한 교환/반품은 AS센터의 불량 판정을 받아야 합니다.) |
| 자동차용품 | 상품을 개봉하여 장착한 이후 단순변심의 경우 |
| CD/DVD/GAME/BOOK등 | 복제가 가능한 상품의 포장 등을 훼손한 경우 |
| 상품의 시리얼 넘버 유출로 내장된 소프트웨어의 가치가 감소한 경우 | |
| 노트북, 테스크탑 PC 등 | 홀로그램 등을 분리, 분실, 훼손하여 상품의 가치가 현저히 감소하여 재판매가 불가할 경우 |










