Joyce의 안드로이드 앱 프로그래밍 with 코틀린

Joyce의 안드로이드 앱 프로그래밍 with 코틀린

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

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

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

홍정아

블록체인개발회사,앱개발스타트업CTO를거쳐현재는테크스타트업의대표입니다.유튜브에서'코틀린강의'를검색하면제일상단에서CodewithJoyce채널에2020년연재한코틀린강의를만날수있습니다(유튜브채널youtube.com/user/soja0524).

목차

00장.개발환경구축

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

01장안드로이드코틀린앱개발입문
__1.1안드로이드와코틀린
__1.2앱개발과정살펴보기
__1.3프로젝트생성방법
__1.4프로젝트구조알아보기
__1.5HelloWorld앱만들기
__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(STEP1)버튼에이벤트연결하기
__7.5(STEP2)스톱워치시작기능구현하기
__7.6(STEP3)일시정지기능구현하기
__7.7(STEP4)초기화기능구현하기
__7.8테스트하기
__학습마무리

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

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

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

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

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

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

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

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

출판사 서평

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

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

_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코드로도제공해책과병행하면더이해가잘됩니다.또한실무에꼭필요한기능을십분활용한다양한예제를다루고있어앱개발역량을한층업그레이드할수있을겁니다.”
심백선|게임개발자