서브메뉴

본문

Joyce의 안드로이드 앱 프로그래밍 with 코틀린 (Kotlin & Android 입문부터 스톱워치, 뮤직 플레이어, QR 코드 리더기, 할 일 리스트, 미세먼지 측정 프로젝트와 배포까지)
Joyce의 안드로이드 앱 프로그래밍 with 코틀린 (Kotlin & Android 입문부터 스톱워치, 뮤직 플레이어, QR 코드 리더기, 할 일 리스트, 미세먼지 측정 프로젝트와 배포까지)
저자 : 홍정아
출판사 : 골든래빗(주)
출판년 : 2022
ISBN : 9791191905090

책소개

★ 코틀린 강의 NO. 1 유튜버 Joyce가 알려주는
★ 안드로이드 앱 개발을 내 것으로 만드는 비법
이 책은 안드로이드 앱을 만드는 최신 기술을 알려드립니다. 다섯 가지 프로젝트를 만들며 스레드, 미디어 플레이어 API, 서비스, ROOM 데이터베이스, 구글 머신러닝 키트, 카메라, 구글 맵, 구글 애드몹 같은 실전에 유용한 기능을 배웁니다. 특히 3단계에서는 미세먼지 측정 앱을 최소 기능 제품(MVP)으로 만든 후 구글 맵과 광고 기능을 붙여 업그레이드하는 과정도 보여줍니다. 실제로 구글 플레이 스토어에 배포도 해봅니다.

★ 입문부터 배포와 광고 수익 창출까지
★ 실무적이고 활용도 높은 당장 써먹을 수 있는 수준 높은 예제로 익혀라

이 책은 총 3단계에 걸쳐 코틀린으로 안드로이드 앱을 개발하는 방법을 알아봅니다. 1단계에서는 안드로이드 앱을 개발하는 데 필요한 코틀린 문법과 안드로이드 스튜디오 사용법을 알아봅니다. 2단계에서는 네 가지 앱을 직접 구현해보면서 스레드, 뮤직 플레이어 API, 서비스, ROOM 데이터베이스, 구글 ML 키트, 카메라 등의 다양한 기능을 익힙니다. 3단계에서는 미세먼지 측정 앱을 단계별로 발전시키며 개발합니다. 배포용으로 수정해 구글 플레이 스토어에 직접 배포까지 해봅니다. 현업에서 앱을 개발할 때 큰 도움이 될 실무적이고 활용도 높은 방법을 배우게 됩니다.
[교보문고에서 제공한 정보입니다.]

출판사 서평

[숫자로 보는 책의 특징]
_0부터 아무것도 몰라도 OK
적어도 한 개 언어를 써봤다면 코틀린과 안드로이드를 전혀 몰라도 됩니다. 처음부터 하나하나 알려드립니다.

_1.6.10 코틀린 버전
2021년 12월 공개된 코틀린 최신 버전을 사용합니다. 또한 안드로이드 스튜디오 Arctic Fox, 안드로이드 12(API 31)를 사용합니다.

_3가지 OS별 개발 환경 구축
윈도우, 맥OS, 리눅스 개발 환경 구성 방법을 모두 알려드립니다.

_3단 업그레이드 개발 및 배포
최소 기능 제품으로 구현한 미세먼지 측정 앱을 업데이트하고 구글 플레이 스토어에 배포하는 과정을 3단계로 제공합니다.

_4가지 난이도 프로젝트 제공
★☆☆☆부터 ★★★★까지 4가지 난이도로 프로젝트를 제공해, 차근차근 익힐 수 있게 구성했습니다.

_5가지 유용한 프로젝트 구현
구글 ML 키트를 비롯한 최신 기술로 당장 유용한 프로젝트를 구현합니다.
___★☆☆☆ 스톱워치
___★★☆☆ 뮤직 플레이어
___★★★☆ QR 코드 리더기
___★★★☆ 할 일 리스트
___★★★★ 실전! 미세먼지 앱

[대상 독자께 드리는 편지]
_안드로이드 앱 개발이 처음인 입문자께
딱 한 권으로 끝내는 코틀린 안드로이드 앱 개발 세계에 오신 걸 환영합니다. 제대로 된 앱을 개발하기까지 익혀야 할 지식이 적지 않습니다. 하지만 너무 걱정 마세요. 이 책은 코틀린 문법을 설명하고 나서 이론과 개념을 재미있는 예제를 구현하며 체화시키기 때문에 여러분의 실력이 쑥쑥 성장할 겁니다.

_기존 자바 안드로이드 앱 개발자께
“굳이 코틀린으로?”라는 생각이 드실 수도 있습니다. 코틀린은 적어도 안드로이드 앱 프로그래밍 분야에서만큼은 퍼스트 언어가 되었습니다. 이제 안드로이드 앱 프로그래밍에서는 옛 친구인 자바를 놓아주고 간결하고 안전한 코틀린의 매력에 푹 빠져보세요. 분명 후회하지 않을 만남이 될 겁니다.

_더 체계적이고 풍부한 활용법을 알고 싶은 코틀린 안드로이드 앱 개발자께
이미 현업에서 사용하는 서비스, 프래그먼트, 스레드 같은 안드로이드 기본 개념을 다지고 더 나아가 안드로이드 젯팩(Jetpack) 라이브러리, 머신 러닝 API, 구글 맵, 애드몹 광고 등 핫한 기능을 배워보세요. 기본을 되돌아보고 최신 기능을 익히는 기회가 되길 빕니다.

[저자와 4문 4답]
[Q] 왜 이 책으로 코틀린 안드로이드 앱 개발을 배워야 하는지요?
A. 안드로이드 개발자로서의 여정이 즐거웠으면 좋겠습니다. 이 책은 코틀린과 안드로이드 필수 개념뿐만 아니라 오픈 소스 API, 광고 기능 설정 등 흥미로운 주제들을 학습 단계에 맞게 차례차례 제공합니다. 또한 명쾌한 개념 설명에 더해 예제 앱을 만들어보면서 직접 개념을 체득할 수 있게 구성했습니다. 개발 지식뿐 아니라 안드로이드 개발에 대한 꺼지지 않는 즐거움을 이 책을 통해 얻으실 수 있길 빕니다. 멀게만 느껴지는 천 리 길이 즐거울 겁니다.

[Q] 왜 자바가 아닌 코틀린으로 안드로이드 앱을 개발해야 하나요?
A. 저도 한때는 안드로이드를 자바로 개발했던 사람으로서 “왜 굳이 코틀린을 배워야 하지?” 의문을 품었을 때가 있습니다. 하지만 코틀린으로 개발을 시작하자 “아~ 이래서 다 코틀린을 배우는구나” 깨닫게 되었죠. 코틀린 코드는 자바 코드보다 훨씬 간결하고 직관적입니다. 생산성이 확 올라갑니다. 프로그래밍 실수를 방지하는 다양한 기능을 제공해 더 안전한 코드를 작성할 수 있습니다.
코틀린의 장점을 나열하자면 끝이 없지만, 조금 더 실용적인 이야기를 하자면 현재 대부분의 안드로이드 개발자 채용 포지션은 자바가 아닌 코틀린 개발자입니다. 여러분이 안드로이드 개발자로서의 취업을 생각한다면, 꼭 코틀린을 배워야 합니다.

[Q] 이 책을 보려면 자바를 알고 있어야 하는 건가요?
A. 아닙니다. 자바를 알고 있다면 물론 훨씬 수월하겠지만 자바가 아닌 C, 파이썬 등 어떤 프로그래밍 언어라도 공부해본 적이 있다면 충분합니다. 왜냐면 이 책은 초보자도 배려하여 코틀린 문법부터 설명하기 때문이죠. 다만 프로그래밍을 해본 적이 아예 없다면 프로그래밍 기본 개념을 미리 공부한 후 읽어주세요. 객체지향 개념도 알고 있어야 합니다.

“초보자를 위한 간단한 코틀린, 안드로이드 설명이 끝나면 더 이상 지루한 이론 수업을 하지 않습니다. 예제를 따라 하면서 앱 서비스의 여러 분야를 직접 체험하고, 동작하는 코드로부터 실무인 개발을 배울 수 있게 설계되어 있습니다. 저자가 심혈을 기울인 정교한 예제들은 단순한 기능뿐 아니라 카메라, 머신러닝, 광고, 미디어, 백그라운드 서비스 등 수 많은 실무 기능에 대한 개발 경험을 쌓게 해줍니다. 또한 이 모든 예제는 최신 사양에 맞춰 작성되어 있죠. 독자 여러분이 이 책을 통해 안드로이드 실무 앱 개발의 첫발을 뗄 수 있길 기대합니다.”
맹기완 | 비사이드소프트 CEO

“안드로이드 개발을 해본 적 없는 분도 부담 없이 안드로이드 세계에 진입할 수 있게 도와주는 안내서입니다. 게다가 현직 안드로이드 개발자에게도 유용한 정보가 가득합니다. 코틀린 언어를 시작으로 실전 프로젝트까지 담고 있어 다 읽고 나면 나만의 앱을 만들어볼 수 있을 정도로 실력이 쌓이게 됩니다. 마지막 프로젝트에서는 핫한 기술인 위치, 지도, 인앱 광고 기능을 익힐 수 있어 특히 유용합니다. 어려운 용어와 내용도 쉽게 풀어 서술되어 있으며 읽으면서 바로바로 실행해볼 수 있게 구성해 누구나 따라 하기 쉽습니다.”
박제창 | (주)엔젤로보틱스 선임 소프트웨어 엔지니어

“개발자라면 새로운 도전거리에 흥미를 느낄 겁니다. 그런 점에서 이 책은 만족도가 높습니다. 단순히 개념 학습에서 끝나는 것이 아니라 마치 실무에서처럼 프로젝트를 계속 발전시켜 도전을 유도합니다. 적절한 수준의 도전은 포기하지 않고 학습하는 데 도움을 줍니다. 이 책이야 말로 진정한 안드로이드 입문서가 아닐까 싶습니다. 안드로이드를 재밌게 학습하고 싶은 분께 최고의 길잡이가 되어줄 겁니다.”
손종국 | 스마트푸드네트웍스 개발자

“안드로이드 앱 개발에 도전하고 싶다면 이 책으로 입문해보세요. 낮은 진입장벽과 친절한 예제, 절묘한 순서로 배치된 단원들이 기다리고 있습니다. 꼭 필요한 기초와 핵심 지식을 제공해 학습을 완료하고 나면 안드로이드 앱 개발자로서 준비를 마치게 됩니다.”
윤창현 | 개발자

“자바로 안드로이드 앱을 개발하다가 이 책을 만나 코틀린으로 다양한 예제를 만들어보니 매우 편리하고 재밌습니다. 특히 사전 지식과 학습 순서를 도식화하여 각 장의 처음에 배치해 배경지식과 전체 흐름을 쉽게 파악할 수 있어 도움이 되었습니다. 이 책을 더 빨리 만났다면 현재 프로젝트도 코틀린으로 진행했을 것 같습니다. 다음부터는 꼭 코틀린을 이용해야겠다는 생각이 들게 해주는 책입니다.”
이명국 | 충북대학교 학부생

“코틀린 문법, 안드로이드 환경, 실습 예제 구성이 안드로이드 앱 개발을 배우기에 적합하게 배치되어 있습니다. 실습용 예제를 단계별로 수준을 올리며 제공해 점점 성장한다는 느낌을 확실히 받게 됩니다. 중요한 개념과 반드시 이해하고 가야 하는 내용을 빼먹지 않고 꼼꼼하게 언급해 안드로이드 개발 입문자에게 좋은 길잡이가 될 겁니다.”
박찬웅 | SW 개발자

“입문자를 배려해 안드로이드 앱 개발 준비와 코틀린 언어를 세세하게 설명해줍니다. 저자의 코틀린 동영상 강의 링크를 QR 코드로도 제공해 책과 병행하면 더 이해가 잘 됩니다. 또한 실무에 꼭 필요한 기능을 십분 활용한 다양한 예제를 다루고 있어 앱 개발 역량을 한층 업그레이드할 수 있을 겁니다.”
심백선 | 게임 개발자
[교보문고에서 제공한 정보입니다.]

목차정보

00장. 개발 환경 구축

[1단계] 안드로이드 BASIC 익히기

01장 안드로이드 코틀린 앱 개발 입문
__1.1 안드로이드와 코틀린
__1.2 앱 개발 과정 살펴보기
__1.3 프로젝트 생성 방법
__1.4 프로젝트 구조 알아보기
__1.5 HelloWorld 앱 만들기
__1.6 에뮬레이터로 실행하기
__1.7 실제 기기로 실행하기
__학습 마무리

02장 코틀린 문법 빠르게 살펴보기
__2.1 코틀린 실행하기
__2.2 코틀린 기본
__2.3 제어문
__2.4 컬렉션
__2.5 클래스
__2.6 인터페이스
__2.7 %00; 처리하기
__2.8 람다식
__학습 마무리

03장 레이아웃 에디터와 레이아웃 파일
__3.1 레이아웃 에디터 알아보기
__3.2 레이아웃 파일 생성 방법
__3.3 레이아웃 파일 코딩을 위한 아주 얕은 XML 지식
__학습 마무리

04장 화면 제어하기 : 액티비티와 프래그먼트
__4.1 안드로이드 4대 구성요소
__4.2 액티비티 알아보기
__4.3 프래그먼트 알아보기
__학습 마무리

05장 화면 구성하기 : 뷰(위젯)
__5.1 뷰(위젯) 종류
__5.2 뷰 공통 속성
__5.3 텍스트뷰
__5.4 이미지뷰
__5.5 버튼
__5.6 에디트텍스트
__학습 마무리

06장 화면 구성하기 : 레이아웃(뷰 그룹)
__6.1 레이아웃 종류
__6.2 리니어 레이아웃 : LinearLayout
__6.3 상대적 레이아웃 : RelativeLayout
__6.4 컨스트레인트 레이아웃 : ConstraintLayout
__6.5 반응형 UI 만들기 : Guideline
__학습 마무리

[2단계] 프로젝트를 만들며 유용한 기능 익히기

07장 [Project] 스톱워치 : 스레드
__7.1 사전 지식 : 메인 스레드와 백그라운드 스레드
__7.2 준비하기 : 프로젝트, SDK 버전
__7.3 레이아웃 구성하기
__7.4 (STEP 1) 버튼에 이벤트 연결하기
__7.5 (STEP 2) 스톱워치 시작 기능 구현하기
__7.6 (STEP 3) 일시정지 기능 구현하기
__7.7 (STEP 4) 초기화 기능 구현하기
__7.8 테스트하기
__학습 마무리

08장 [Project] 뮤직 플레이어 : MediaPlayer API, 서비스
__8.1 사전 지식 : 오디오 재생 MediaPlayer API
__8.2 사전 지식 : 서비스와 생명 주기
__8.3 준비하기 : 프로젝트
__8.4 레이아웃 구성하기
__8.5 리소스 준비하기
__8.6 (STEP 1) 서비스 클래스 구현하기
__8.7 (STEP 2) 버튼 초기화하기
__8.8 (STEP 3) 액티비티와 서비스 연결하기
__8.9 테스트하기
__학습 마무리

09장 [Project] QR 코드 리더기 : 카메라, 뷰 바인딩, 구글 ML 키트
__9.1 사전 지식 : 뷰 바인딩
__9.2 사전 지식 : 안드로이드 젯팩
__9.3 사전 지식 : CameraX 라이브러리
__9.4 사전 지식 : 구글 ML 키트
__9.5 준비하기 : 프로젝트, 뷰 바인딩, 라이브러리
__9.6 레이아웃 구성하기
__9.7 (STEP 1) 카메라 미리보기 화면 구현하기
__9.8 (STEP 2) QR 코드 인식 기능 구현하기
__9.9 (STEP 3) 결과 화면 구현하기
__9.10 테스트하기
__학습 마무리

10장 [Project] 할 일 리스트 : Room 데이터베이스, 리사이클러뷰
__10.1 사전 지식 : Room 지속성 라이브러리
__10.2 사전 지식 : 리사이클러뷰 알아보기
__10.3 준비하기 : 프로젝트, 뷰 바인딩, 라이브러리
__10.4 레이아웃 구성하기
__10.5 (STEP 1) Room으로 데이터베이스 구성하기
__10.6 (STEP 2) 할 일 추가 기능 구현하기
__10.7 (STEP 3) 리사이클러뷰로 리스트 구현하기
__10.8 (STEP 4) 할 일 삭제 기능 구현하기
__10.9 테스트하기
__학습 마무리

[3단계] 실전! 미세먼지 앱 개발&배포

11장 [Project #1] 미세먼지 앱 V 1.0 : 레트로핏을 이용한 네트워크 통신
__11.1 사전 지식 : HTTP와 API
__11.2 사전 지식 : 레트로핏 라이브러리와 JSON
__11.3 준비하기 : 프로젝트, 뷰 바인딩, 라이브러리, AirVisual API 키
__11.4 레이아웃 구성하기
__11.5 (STEP 1) GPS와 인터넷 권한 설정하기
__11.6 (STEP 2) 위치 정보 가져오기
__11.7 (STEP 3) 레트로핏으로 미세먼지 정보를 가져와 화면에 표현하기
__11.8 테스트하기
__학습 마무리

12장 [Project #2] 미세먼지 앱 V 2.0 : 구글 맵
__12.1 준비하기 : 프로젝트
__12.2 준비하기 : 구글 맵 API 키 발급 및 설정하기
__12.3 레이아웃 구성하기
__12.4 (STEP 1) MainActivity.kt에서 플로팅 액션 버튼 구현하기
__12.5 (STEP 2) 지도 액티비티 구현하기
__12.6 테스트하기
__학습 마무리

13장 [Project #3] 미세먼지 앱 V 3.0 .: 구글 애드몹 광고, 파이어베이스, 구글 애널리틱스
__13.1 준비하기 : 프로젝트
__13.2 준비하기 : 파이어베이스
__13.3 준비하기 : 애드몹
__13.4 레이아웃 구성하기
__13.5 (STEP 1) MainActivity.kt에서 배너 광고 구현하기
__13.6 (STEP 2) 전면 광고 구현하기
__13.7 테스트하기
__학습 마무리

14장 [Project #4] 구글 플레이 스토어에 배포하기
__14.1 준비하기 : 프로젝트
__14.2 앱 런처(아이콘) 바꾸기
__14.3 앱 이름 바꾸기
__14.4 패키지 이름 바꾸기
__14.5 광고 단위 ID 바꾸기
__14.6 앱 번들 만들기
__14.7 구글 플레이 스토어에 앱 출시하기
__14.8 구글 맵에 업로드 키와 앱 서명 키 등록하기
__14.9 출시 완료되면 광고 등록하기
__학습 마무리
[교보문고에서 제공한 정보입니다.]