오준석의 안드로이드 생존코딩 코틀린 편 (2판)

고객평점
저자오준석
출판사항한빛미디어, 발행일:2021/12/17
형태사항p.454 B5판:24
매장위치자연과학부(B2) , 재고문의 : 051-816-9500
ISBN9791162244999 [소득공제]
판매가격 32,000원   28,800원  (인터넷할인가:10%)
포인트 1,440점
배송비결제주문시 결제
  • 주문수량 

총 금액 : 0원

책 소개

★ 최신 버전으로 완전 개정된 베스트셀러, 완벽하게 실습 가능한 코틀린 안드로이드 앱 개발 입문+활용서


이 책은 안드로이드 스튜디오와 코틀린 기초를 학습하고 총 9가지 실용 앱을 개발한다. 그림을 많이 첨부하여 쉽게 따라 할 수 있도록 구성했다. 1장~4장까지는 앱 개발 기초 개념과 코틀린 언어에 대해서 다루고 5장부터는 본격적으로 앱 개발을 따라 하며 익힐 수 있도록 했다. 부록에서는 구글 플레이 스토어에 앱을 등록하는 방법을 알려준다.


★ 최신 버전 반영

- 안드로이드 12 버전 테스트

- 안드로이드 스튜디오 Arctic Fox

- 코틀린 1.6.0 버전


★ <소문난 명강의> 시리즈 소개

이 시리즈는 단기간에 실무 능력을 갖추게 도와줍니다.

유튜브, 블로그, 학원, 대학 등에서 이미 검증된 강의 본연의 장점을 극대화하고 더 체계화해 책으로 담았습니다. 입문자 눈높이에서 설명하고 작고 실용적인 프로젝트를 수행해 실전 능력을 키워줍니다. 빠르게 개발 능력을 배우려는 입문자와 더 다양한 경험을 쌓으려는 기존 개발자에게 유용합니다.


★ 이 책의 모태 소문난 명강의 '오준석의 생존코딩' 소개

이 책의 모태 '안드로이드 생존코딩'은 오준석 저자가 수원스마트앱개발학원에서 6기까지 진행

한 안드로이드 과정 강의입니다. 그 과정에서 창업 3팀, 출시 앱 35개, 공모전 입상 7명(기획

공모전 1등 포함)의 성과를 내고 강의 영상 613편을 찍었습니다. 유튜브 채널에 올린 강의는 5

기 과정입니다.


o유튜브 채널(오준석의 생존코딩) : https://www.youtube.com/c/안드로이드생존코딩


일반인을 개발자로 취업시키기 위한 국비지원 과정이고 오준석 이름을 걸고 운영하던 기관의

대표 강의였기 때문에 실전에 필요한 내용을 심도 있게 담아 강의했습니다. 이 강의를 들으

면 거액을 들여 학원에 가지 않고도 학원에 간 것과 똑같은 수업을 들을 수 있습니다. 현재

구독자는 9000여 명 이상입니다.

온라인 강의 플랫폼(오준석의 생존코딩): survivalcoding.com


★ 이 책의 특징


[입문자와 초보자를 배려한 진행 순서]

이 책은 자바 또는 그에 상응하는 프로그래밍을 학습한 사람을 대상으로 하지만, 프로그래밍 경험이 적거나 없는 사람도 따라 하며 이해할 수 있도록 구성했습니다.


[마지막까지 친절하게]

따라 하면 완성되는 것을 목표로 하기 때문에 실습 중에 놓치는 상황이 없도록 최대한 많은 그림과 스크린샷을 첨부했습니다. 앞에서 다룬 내용을 뒤에서 모를 수도 있다는 가정하에 최대한 반복해서 다루고 설명합니다.


[초보자 중심]

입문자나 초보자가 앱을 완성하고 실행하면서 보람을 느낄 수 있게 하는 데 중점을 두었습니다. 많은 내용을 나열하는 대신 핵심 내용을 앱 제작 과정에 녹여 포기하지 않고 끝까지 개발할 수 있도록 했습니다.


[예제 난이도 안내]

난이도를 다음과 같이 별의 개수로 표현했습니다.

_ 초급 : ★☆☆

_ 중급 : ★★☆

_ 고급 : ★★★


__ 첫 번째 앱 만들기(3장) ★☆☆

__ 비만도 계산기(5장) ★☆☆

__ 스톱워치(6장) ★☆☆

__ 나만의 웹 브라우저(7장) ★☆☆

__ 수평 측정기(8장) ★★☆

__ 전자액자(9장) ★★☆

__ 지도와 GPS(10장) ★★☆

__ 손전등(11장) ★★★

__ 실로폰(12장) ★☆☆

__ Todo 리스트(13장) ★★★


★ 이 책이 다루는 범위

[안드로이드 스튜디오]

_ 앱 개발에 필수적으로 사용하는 내용을 다룹니다.

_ 빠르게 코드를 작성하는 자동완성 기능을 다룹니다.


[코틀린 프로그래밍]

_ 앱 개발에 필수적으로 사용하는 내용을 다룹니다.

_ 예제를 완성하면서 자연스럽게 여러 문법이나 기능을 사용하게 됩니다.


[레이아웃 작성]

_ 레이아웃 에디터에서 ConstraintLayout 기반의 레이아웃 작성 및 속성을 설정하는 방법을 다룹니다.


[뷰 바인딩]

_ findViewById( ) 메서드를 사용하지 않아도 레이아웃의 ID에 쉽게 접근하는 기능


[안드로이드 구성요소]

_ 화면을 구성하는 기본 요소인 액티비티를 다룹니다.

_ 지도와 좌우 슬라이드 화면을 구성하는 UI 요소인 프래그먼트를 사용합니다.

_ 프로바이더를 사용해 기기의 사진 정보를 가져오는 방법을 다룹니다.

_ 손전등 앱을 만들면서 UI를 가지지 않는 컴포넌트인 서비스를 다룹니다.


[그 외]

_ 어려운 개념보다는 간단한 코드를 사용해 스레드를 쉽게 다룹니다.

_ Room 데이터베이스를 사용하여 쉽게 데이터베이스를 다룹니다.

_ 사운드를 재생하는 방법을 다룹니다.

_ 지도와 현재 위치 정보를 다루는 방법을 다룹니다.

_ 구글 플레이 스토어에 앱 등록하기를 배웁니다.


예제 다운로드: https://github.com/junsuk5/kotlin-android-2rd


★ 이 책의 구성

[1장] 안드로이드를 개발하기 전에

개발 언어(코틀린)와 플랫폼에 대해 소개하고 안드로이드 앱 개발 도구인 안드로이드 스튜디오를 설치하여 개발 환경을 설정한다.

[2장] 기기와 에뮬레이터 준비

프로젝트를 생성하는 방법을 알아보고, 개발하는 앱을 실행할 기기/에뮬레이터를 준비한다.

[3장] 첫 번째 앱 만들기

안드로이드 스튜디오에서 프로젝트 구조, 레이아웃 에디터에 대해 알아본다. 간단한 레이아웃을 작성하면서 텍스트 뷰를 배치하고 문자열 리소스, 다국어화, 레이아웃 제약 수정에 대해 배운다. 또한 화면을 구성하는 레이아웃과 액티비티 버튼을 클릭했을 때 이벤트를 처리하는 방법을 알아본다.

[4장] 코틀린

안드로이드 앱 개발에 필요한 코틀린 핵심 문법을 기능을 중심으로 알아본다. 기존 자바 개발자를 위해 자바와 비교해 코틀린에 쉽게 적응하도록 설명한다.

[5장] 비만도 계산기 (실전 앱 개발)

키와 몸무게를 입력하여 비만도를 표시하는 앱을 만들어본다. 두 화면을 전환하면서 데이터 전달 방법을 알아보고 이미지 뷰를 사용해 벡터 이미지를 표시해본다.

[6장] 스톱워치 (실전 앱 개발)

스톱워치 앱을 만들어보면서 안드로이드 UI를 조작하는 메인 스레드와 복잡한 일을 하는 워커 스레드를 어떤 함수로 구현하는지 배운다. 또한 버튼을 누를 때마다 레이아웃에 텍스트 뷰를 추가하는 방법도 살펴본다.

[7장] 나만의 웹 브라우저 (실전 앱 개발)

웹뷰를 사용하여 웹 브라우저를 만들고 웹 페이지를 표시하기 위해 인터넷 사용 권한을 추가하는 방법을 알아본다. 또한 메뉴 리소스를 작성하여 액티비티에서 메뉴를 처리하는 방법을 다루고 테마를 수정하여 앱의 분위기를 바꿔보는 실습을 진행한다. 마지막으로 이미 설치된 다른 앱을 활용하여 SMS 보내기, 이메일 보내기를 실행해본다.

[8장] 수평 측정기 (실전 앱 개발)

가속도 센서를 활용한 수평을 측정하는 앱을 만들면서 센서 사용 방법과 센서값을 이용해 나만의 커스텀 뷰를 화면에 그려본다. 또한 센서 등록 및 해제를 통해 액티비티의 생명주기를 알아보고 화면에 수평계를 그리면서 간단한 그래픽 조작 API를 사용해본다.

[9장] 전자액자 (실전 앱 개발)

기기에 저장된 사진을 자동으로 슬라이드해주는 전자액자를 만들어본다. 사진을 찍으면 자동으로 기기 내부에 데이터베이스를 생성하고 외부에 공개하는 방법을 알아본다.

[10장] 지도와 GPS (실전 앱 개발)

구글 지도와 현재 위치 정보를 토대로 이동 경로를 표시하는 지도 앱을 만든다. 구글 지도를 사용하는 데 필요한 API 키 발급 등의 준비 사항을 알아보고, 위치 정보에 접근할 때 위험 권한을 허용하는 프로세스에 대해 알아본다. 또한 위치 정보를 주기적으로 요청하여 위도, 경도 좌표를 토대로 지도 위에 이동 경로를 표시해본다.

[11장] 손전등 (실전 앱 개발)

기기의 카메라 플래시를 사용하여 손전등 앱을 만들어보면서 위젯을 제공하여 앱을 실행하지 않고도 플래시를 켜고 끄는 방법을 알아본다. 손전등은 액티비티 기능을 사용해 작성하고 위젯은 안드로이드 컴포넌트 중 서비스를 이용해 작성해본다.

[12장] 실로폰 (실전 앱 개발)

실로폰 앱을 만들어보며 안드로이드에서 음원 파일을 재생하는 여러 방법을 배우고 상황에 따라 더 적절한 방법을 선택하는 기준에 대해 배운다. 레이아웃을 작성하면서 많은 뷰를 균등하게 정렬하는 법과, 많은 수의 뷰가 있을 때 코틀린으로 효율적으로 다루는 방법을 알아본다.

[13장] Todo 리스트 (실전 앱 개발)

할 일 정보를 데이터베이스에 저장하는 Todo 리스트 앱을 만든다. Room 데이터베이스를 사용하여 할 일 정보를 저장, 수정, 삭제하는 방법에 대해 알아보고 리사이클러 뷰와 데이터베이스를 연동하여 내용을 표시하는 방법을 알아본다.

[부록] 구글 플레이 스토어에 앱을 등록하는 방법을 알아본다.

작가 소개

오준석

교육하고 책 쓰는 개발자. 일본 테크시드, 토카이리카, LG전자 등에서 개발자로 생활하다 2010년에 귀국했습니다. 현재는 안드로이드 앱을 개발하고 온라인 교육 플랫폼인 오준석의 생존코딩과 인프런에서 온라인 강의를, 세민직업전문학교에서 오프라인 강의를 합니다. 저서로 『소문난명강의 : 오준석의 플러터 생존코딩(개정판)』(한빛미디어, 2021), 『될 때까지 안드로이드』(루비페이퍼, 2018) 등이 있습니다.

목 차

1장 안드로이드를 개발하기 전에

1.1 안드로이드 소개

1.2 앱 개발 환경 알아보기

1.3 안드로이드 스튜디오 설치하기

1.4 마치며


2장 기기와 에뮬레이터 준비

2.1 프로젝트

2.2 안드로이드 기기로 실행하기

2.3 에뮬레이터로 실행하기

2.4 마치며


3장 첫 번째 앱 만들기

3.1 안드로이드 스튜디오 프로젝트 구성

3.2 레이아웃 에디터

3.3 레이아웃 작성하기

3.4 코드 작성하기

3.5 마치며


4장 코틀린

4.1 안드로이드 개발용 코틀린 사용

4.2 REPL 사용하기

4.3 코틀린 파일 생성해 보기

4.4 기본 구문

4.5 기본 자료형

4.6 제어문

4.7 클래스

4.8 인터페이스

4.9 null 가능성

4.10 컬렉션

4.11 람다식

4.12 기타 기능

4.13 마치며


5장 비만도 계산기

5.1 해법 요약

5.2 준비하기

5.3 스텝 1 키와 몸무게를 입력하는 화면 작성

5.4 스텝 2 결과 화면 작성

5.5 스텝 3 인텐트로 화면 전환

5.6 스텝 4 SharedPreference로 데이터 저장하기

5.7 마치며


6장 스톱워치

6.1 해법 요약

6.2 준비하기

6.3 스텝 1 화면 작성

6.4 스텝 2 타이머 구현하기

6.5 스텝 3 랩 타임 기록하기

6.6 마치며


7장 나만의 웹 브라우저

7.1 해법 요약

7.2 준비하기

7.3 스텝 1 화면 작성

7.4 스텝 2 기본 웹 브라우저 기능 작성

7.5 스텝 3 옵션 메뉴 사용하기

7.6 스텝 4 컨텍스트 메뉴 사용하기

7.7 스텝 5 암시적 인텐트

7.8 마치며


8장 수평 측정기

8.1 해법 요약

8.2 준비하기

8.3 스텝 1 액티비티의 생명주기 알아보기

8.4 스텝 2 센서 사용하기

8.5 스텝 3 커스텀 뷰 작성하기

8.6 마치며


9장 전자액자

9.1 해법 요약

9.2 준비하기

9.3 스텝 1 프로바이더 사용하기

9.4 스텝 2 전자액자 구현하기

9.5 스텝 3 슬라이드쇼 구현하기

9.6 마치며


10장 지도와 GPS

10.1 해법 요약

10.2 준비하기

10.3 스텝 1 구글 지도 표시하기

10.4 스텝 2 주기적으로 현재 위치 정보 업데이트하기

10.5 스텝 3 이동 자취를 선으로 그리기

10.6 마치며


11장 손전등

11.1 해법 요약

11.2 준비하기

11.3 스텝 1 손전등 기능 구현

11.4 스텝 2 액티비티에서 손전등 기능 사용

11.5 스텝 3 서비스에서 손전등 기능 사용

11.6 스텝 4 앱 위젯 작성

11.7 마치며


12장 실로폰

12.1 해법 요약

12.2 준비하기

12.3 스텝 1 레이아웃 작성

12.4 스텝 2 소리 재생하기

12.5 마치며


13장 Todo 리스트

13.1 해법 요약

13.2 준비하기

13.3 스텝 1 레이아웃 작성

13.4 스텝 2 Room 데이터베이스

13.5 스텝 3 리사이클러 뷰와 데이터베이스 연동

13.6 마치며

역자 소개


01. 반품기한
  • 단순 변심인 경우 : 상품 수령 후 7일 이내 신청
  • 상품 불량/오배송인 경우 : 상품 수령 후 3개월 이내, 혹은 그 사실을 알게 된 이후 30일 이내 반품 신청 가능
02. 반품 배송비
반품 배송비
반품사유 반품 배송비 부담자
단순변심 고객 부담이며, 최초 배송비를 포함해 왕복 배송비가 발생합니다. 또한, 도서/산간지역이거나 설치 상품을 반품하는 경우에는 배송비가 추가될 수 있습니다.
상품의 불량 또는 오배송 고객 부담이 아닙니다.
03. 배송상태에 따른 환불안내
환불안내
진행 상태 결제완료 상품준비중 배송지시/배송중/배송완료
어떤 상태 주문 내역 확인 전 상품 발송 준비 중 상품이 택배사로 이미 발송 됨
환불 즉시환불 구매취소 의사전달 → 발송중지 → 환불 반품회수 → 반품상품 확인 → 환불
04. 취소방법
  • 결제완료 또는 배송상품은 1:1 문의에 취소신청해 주셔야 합니다.
  • 특정 상품의 경우 취소 수수료가 부과될 수 있습니다.
05. 환불시점
환불시점
결제수단 환불시점 환불방법
신용카드 취소완료 후, 3~5일 내 카드사 승인취소(영업일 기준) 신용카드 승인취소
계좌이체 실시간 계좌이체 또는 무통장입금
취소완료 후, 입력하신 환불계좌로 1~2일 내 환불금액 입금(영업일 기준)
계좌입금
휴대폰 결제 당일 구매내역 취소시 취소 완료 후, 6시간 이내 승인취소
전월 구매내역 취소시 취소 완료 후, 1~2일 내 환불계좌로 입금(영업일 기준)
당일취소 : 휴대폰 결제 승인취소
익월취소 : 계좌입금
포인트 취소 완료 후, 당일 포인트 적립 환불 포인트 적립
06. 취소반품 불가 사유
  • 단순변심으로 인한 반품 시, 배송 완료 후 7일이 지나면 취소/반품 신청이 접수되지 않습니다.
  • 주문/제작 상품의 경우, 상품의 제작이 이미 진행된 경우에는 취소가 불가합니다.
  • 구성품을 분실하였거나 취급 부주의로 인한 파손/고장/오염된 경우에는 취소/반품이 제한됩니다.
  • 제조사의 사정 (신모델 출시 등) 및 부품 가격변동 등에 의해 가격이 변동될 수 있으며, 이로 인한 반품 및 가격보상은 불가합니다.
  • 뷰티 상품 이용 시 트러블(알러지, 붉은 반점, 가려움, 따가움)이 발생하는 경우 진료 확인서 및 소견서 등을 증빙하면 환불이 가능하지만 이 경우, 제반 비용은 고객님께서 부담하셔야 합니다.
  • 각 상품별로 아래와 같은 사유로 취소/반품이 제한 될 수 있습니다.

환불불가
상품군 취소/반품 불가사유
의류/잡화/수입명품 상품의 택(TAG) 제거/라벨 및 상품 훼손으로 상품의 가치가 현저히 감소된 경우
계절상품/식품/화장품 고객님의 사용, 시간경과, 일부 소비에 의하여 상품의 가치가 현저히 감소한 경우
가전/설치상품 전자제품 특성 상, 정품 스티커가 제거되었거나 설치 또는 사용 이후에 단순변심인 경우, 액정화면이 부착된 상품의 전원을 켠 경우 (상품불량으로 인한 교환/반품은 AS센터의 불량 판정을 받아야 합니다.)
자동차용품 상품을 개봉하여 장착한 이후 단순변심의 경우
CD/DVD/GAME/BOOK등 복제가 가능한 상품의 포장 등을 훼손한 경우
내비게이션, OS시리얼이 적힌 PMP 상품의 시리얼 넘버 유출로 내장된 소프트웨어의 가치가 감소한 경우
노트북, 테스크탑 PC 등 홀로그램 등을 분리, 분실, 훼손하여 상품의 가치가 현저히 감소하여 재판매가 불가할 경우