책 소개
안드로이드 분야 도서 1위! 개정 3판 출간!
20여 년간 현업과 강의 현장에서 쌓은 ‘깡샘’의 개발 노하우를 배워 보자!
이 책의 실습 환경
이 책의 소스 코드는 다음 환경에서 꼼꼼하게 테스트했습니다. 다만 안드로이드 API 버전이 지속적으로 업데이트되고 있기 때문에, 최신 소식과 업데이트 사항을 저자가 운영하는 블로그(kkangsnote.tistory.com)에서 참고하면 더욱 원활한 학습이 가능할 것입니다.
• 안드로이드 API 레벨: 34(버전 코드: UpsideDownCake, 플랫폼 버전: 14)
• 안드로이드 스튜디오: Iguana
이 책의 특징
• 안드로이드 14(업사이드다운 케이크)를 기준으로 내용 및 소스를 업데이트
• 전체 실습 과정을 설명하는 저자 직강 영상을 유튜브에서 무료 제공
• 제트팩 androidx 라이브러리와 UI 툴인 컴포즈를 활용한 프로그래밍 기법을 담아 개발 트렌드를 반영
• 저자가 실제 수강생들과 주고받았던 다양한 유형의 질의응답 내용을 <깡샘! 질문 있어요!> 코너로 재구성
• 교강사에게는 강의 계획서로, 독학자에게는 학습 계획표로 활용할 수 있도록 <30일 완성 학습 계획표>를 제공
• 현업에서 일하는 안드로이드 앱 개발자를 포함해 5명의 베타테스터가 전체 실습 과정과 소스 코드를 검증
이 책의 대상 독자
• 모바일 앱 개발자를 꿈꾸는 학생 또는 취업 준비생
• 안드로이드 앱 개발 과정을 체계적으로 배우고 싶은 주니어 개발자
• 코틀린 언어로 모바일 앱을 개발하거나 새로운 제트팩 라이브러리, 컴포즈와 같은 최신 구현 기법을 공부하고 싶은 시니어 개발자
모바일 개발자의 구인 공고가 바뀌고 있다!
대세는 코틀린으로 안드로이드 앱 개발하기!
안드로이드 앱을 개발할 때 코틀린 언어를 사용하면 소스 코드의 길이를 줄이고 더 안전한 코드를 작성할 수 있습니다. 코틀린으로 개발한 안드로이드 앱은 오류 확률이 20% 더 낮아집니다. 또한 코틀린은 자바와 100% 호환되므로 자바 코드와 함께 사용할 수도 있습니다. 이러한 이유로 안드로이드 개발자의 60% 이상이 코틀린을 사용하고 있으며, 앱 시장의 상위 1,000개 앱 가운데 80% 이상이 코틀린 코드를 포함하고 있습니다. 현업 개발자들은 물론 기업에서도 앱 개발을 코틀린으로 시작할 것을 권장하는 추세입니다. 모바일 앱 개발에 관심이 있고 자바나 C로 기초 프로그래밍을 경험해 본 입문자라면 이 책을 충분히 독학할 수 있습니다!
모바일 앱 개발의 아키텍처를 이해하고,
자주 쓰던 앱에서 사용하는 기능을 직접 만들며 실무 감각을 익히자!
이 책의 목표는 모바일 앱 개발의 실무 역량을 기르는 것입니다. 단순히 문법이나 조각 코드만 나열하는 것이 아니라, 모바일 앱 개발의 아키텍처를 이해하고 응용력을 높일 수 있도록 구성했습니다. 안드로이드 앱의 핵심이라고 할 수 있는 4가지 컴포넌트와 각 생명주기를 그림과 함께 자세하게 설명하고, 우리가 자주 쓰는 앱의 여러 기능을 실습하며 실무 감각을 수 익힐 수 있습니다. 또한 앱 개발 시 자주 만나는 문제와 해결 방법을 제시함으로써 오류를 미연에 방지하고 완성도 높은 코드를 작성할 수 있도록 돕습니다. 앱 개발의 기초를 다질 수 있는 가벼운 실습부터 할 일 기록, 지도, MP3 재생, 뉴스 제공 등 총 19가지 앱을 만들어 보면서 가장 많이 사용하는 기능을 자연스럽게 배워 봅시다.
안드로이드 개발자를 수 천명 양성한 ‘깡샘’의 노하우를 이 책에 모두 담았다!
독학은 물론 직업전문학원, 대학 교재로도 활용할 수 있는 알찬 구성!
안드로이드 분야에서 ‘깡샘’으로 더 유명한 강성윤 저자는 다양한 교육 기관과 기업에서 모바일 앱 개발을 강의해 왔습니다. 여러 개발자와 교강사 분들께 검증받은 커리큘럼을 바탕으로 20여 년간 쌓아 온 개발 및 강의 노하우를 이 책에 모두 담았습니다.
코드 작성 시간을 줄이고 핵심 내용에만 집중할 수 있도록 실습용 소스 코드를 제공하므로, 독자는 이를 바탕으로 핵심 코드만 직접 작성하면서 실습을 진행합니다. 물론 소스가 제대로 동작하지 않을 때 비교할 수 있도록 완성된 소스도 별도로 제공합니다. 각 장이 끝날 때 마다 앞에서 배운 내용을 정리할 수 있도록 간단한 퀴즈를 제시했으니 풀어 보면서 자신의 실력을 스스로 점검할 수도 있습니다.
작가 소개
강성윤
IT 전문 강사이자 개발자인 저자는 멀티캠퍼스, 삼성전자, 쿠팡, 농심데이터시스템 등 여러 교육 기관과 기업에서 강의해 왔다. 체계적인 문법과 실전 코딩을 병행하는 확실한 IT 교육 철학으로 소문난 명강사이며 일선에서 애플리케이션 개발과 컨설팅도 하고 있다. 스프링 프레임워크와 노드제이에스를 중심으로 모바일 앱과 자바스크립트 프레임워크 등 최근 IT 업계에 필요한 기술을 다방면으로 구사하는 실력자다. 특히 안드로이드와 아이오닉, 리액트 네이티브, 플러터 등 모바일 앱 분야에 관심을 가지고 개발과 강의를 이어가고 있다.
목 차
=============================
첫째마당 | 안드로이드 앱 개발 준비하기
=============================
01장 개발 환경 준비하기
__01-1 안드로이드 스튜디오 설치하기
__01-2 첫 번째 앱 만들기
__01-3 앱 실행하기
__01-4 앱 출시하기 [Do it! 실습]
02장 안드로이드 앱의 기본 구조
__02-1 안드로이드 소개
__02-2 안드로이드 앱 개발의 특징
__02-3 앱 구성 파일 분석
=============================
둘째마당 | 코틀린 이해하기
=============================
03장 코틀린 시작하기
__03-1 코틀린 언어 소개
__03-2 변수와 함수
__03-3 조건문과 반복문
04장 코틀린 객체지향 프로그래밍
__04-1 클래스와 생성자
__04-2 클래스를 재사용하는 상속
__04-3 코틀린의 클래스 종류
05장 코틀린의 유용한 기법
__05-1 람다 함수와 고차 함수
__05-2 널 안전성
=============================
셋째마당 | 앱의 기본 기능 구현하기
=============================
06장 뷰를 이용한 화면 구성
__06-1 화면을 구성하는 방법
__06-2 뷰 클래스
__06-3 기본적인 뷰 살펴보기
__06-4 뷰 바인딩
__06-5 카카오톡 비밀번호 확인 화면 만들기 [Do it! 실습]
07장 뷰를 배치하는 레이아웃
__07-1 선형으로 배치 ― LinearLayout
__07-2 상대 위치로 배치 ― RelativeLayout
__07-3 겹쳐서 배치 ― FrameLayout
__07-4 표 형태로 배치 ― GridLayout
__07-5 계층 구조로 배치 ― ConstraintLayout
__07-6 전화 앱의 키패드 화면 만들기 [Do it! 실습]
08장 사용자 이벤트 처리하기
__08-1 터치와 키 이벤트
__08-2 뷰 이벤트
__08-3 시계 앱의 스톱워치 기능 만들기 [Do it! 실습]
09장 리소스 활용하기
__09-1 리소스의 종류와 특징
__09-2 리소스 조건 설정
__09-3 폰 크기의 호환성
__09-4 메신저 앱의 인트로 화면 만들기 [Do it! 실습]
10장 다이얼로그와 알림 이용하기
__10-1 API 레벨 호환성 고려하기
__10-2 퍼미션 설정하기
__10-3 다양한 다이얼로그
__10-4 소리와 진동 알림
__10-5 알림 띄우기
__10-6 카카오톡 알림 만들기 [Do it! 실습]
=============================
넷째마당 | 구글의 라이브러리로 화면 구성하기
=============================
11장 제트팩 라이브러리
__11-1 제트팩과 androidx 소개
__11-2 appcompat 라이브러리 ― API 호환성 해결
__11-3 프래그먼트 ― 액티비티처럼 동작하는 뷰
__11-4 리사이클러 뷰 ― 목록 화면 구성
__11-5 뷰 페이저2 ― 스와이프로 넘기는 화면 구성
__11-6 드로어 레이아웃 ― 옆에서 열리는 화면 구성
__11-7 제트팩을 이용해 화면 만들기 [Do it! 실습]
12장 머티리얼 라이브러리
__12-1 앱바 사용하기
__12-2 탭 레이아웃 ― 탭 버튼 구성
__12-3 내비게이션 뷰 ― 드로어 화면 구성
__12-4 확장된 플로팅 액션 버튼
__12-5 머티리얼 라이브러리로 화면 구성하기 [Do it! 실습]
=============================
다섯째마당 | 컴포넌트 이해하기
=============================
13장 액티비티 컴포넌트
__13-1 인텐트 이해하기
__13-2 액티비티 생명주기
__13-3 액티비티 ANR 문제와 코루틴
__13-4 할 일 목록 앱 만들기 [Do it! 실습]
14장 브로드캐스트 리시버 컴포넌트
__14-1 브로드캐스트 리시버 이해하기
__14-2 시스템 상태 파악하기
__14-3 배터리 정보 앱 만들기 [Do it! 실습]
15장 서비스 컴포넌트
__15-1 서비스 이해하기
__15-2 바인딩 서비스
__15-3 백그라운드 제약
__15-4 잡 스케줄러
__15-5 MP3 재생 앱 만들기 [Do it! 실습]
16장 콘텐츠 프로바이더 컴포넌트
__16-1 콘텐츠 프로바이더 이해하기
__16-2 안드로이드 기본 앱과 연동하기
__16-3 카메라, 갤러리 앱과 연동하는 앱 만들기 [Do it! 실습]
=============================
여섯째마당 | 앱에 다양한 기능 추가하기
=============================
17장 저장소에 데이터 보관하기
__17-1 데이터베이스에 보관하기
__17-2 파일에 보관하기
__17-3 공유된 프리퍼런스에 보관하기
__17-4 개선된 할 일 목록 앱 만들기 [Do it! 실습]
18장 네트워크 프로그래밍
__18-1 스마트폰 정보 구하기
__18-2 HTTP 통신하기
__18-3 이미지 처리하기 ― Glide 라이브러리
__18-4 뉴스 앱 만들기 [Do it! 실습]
19장 위치 정보 활용하기
__19-1 사용자 위치 얻기
__19-2 구글 지도 활용하기
__19-3 구글 지도 앱 만들기 [Do it! 실습]
=============================
일곱째마당 | 파이어베이스와 연동하기
=============================
20장 파이어베이스 연동과 인증 기능
__20-1 파이어베이스 이해하기
__20-2 파이어베이스 연동하기
__20-3 인증 기능 이용하기
__20-4 회원가입과 로그인 기능 만들기 [Do it! 실습]
21장 파이어스토어, 스토리지, FCM
__21-1 파이어스토어 데이터베이스
__21-2 파이어베이스 스토리지
__21-3 이미지 공유 앱 만들기 [Do it! 실습]
__21-4 파이어베이스 클라우드 메시징
__21-5 서버에서 보내는 알림 받기 [Do it! 실습]
=============================
여덟째마당 | 컴포즈 활용하기
=============================
22장 제트팩 컴포즈
__22-1 컴포즈 이해하기
__22-2 상태 다루기
__22-3 컴포즈로 화면 구성하기
__22-4 컴포즈로 뉴스 앱 만들기 [Do it! 실습]
찾아보기
역자 소개
- 단순 변심인 경우 : 상품 수령 후 7일 이내 신청
- 상품 불량/오배송인 경우 : 상품 수령 후 3개월 이내, 혹은 그 사실을 알게 된 이후 30일 이내 반품 신청 가능
반품사유 | 반품 배송비 부담자 |
---|---|
단순변심 | 고객 부담이며, 최초 배송비를 포함해 왕복 배송비가 발생합니다. 또한, 도서/산간지역이거나 설치 상품을 반품하는 경우에는 배송비가 추가될 수 있습니다. |
고객 부담이 아닙니다. |
진행 상태 | 결제완료 | 상품준비중 | 배송지시/배송중/배송완료 |
---|---|---|---|
어떤 상태 | 주문 내역 확인 전 | 상품 발송 준비 중 | 상품이 택배사로 이미 발송 됨 |
환불 | 즉시환불 | 구매취소 의사전달 → 발송중지 → 환불 | 반품회수 → 반품상품 확인 → 환불 |
- 결제완료 또는 배송상품은 1:1 문의에 취소신청해 주셔야 합니다.
- 특정 상품의 경우 취소 수수료가 부과될 수 있습니다.
결제수단 | 환불시점 | 환불방법 |
---|---|---|
신용카드 | 취소완료 후, 3~5일 내 카드사 승인취소(영업일 기준) | 신용카드 승인취소 |
계좌이체 |
실시간 계좌이체 또는 무통장입금 취소완료 후, 입력하신 환불계좌로 1~2일 내 환불금액 입금(영업일 기준) |
계좌입금 |
휴대폰 결제 |
당일 구매내역 취소시 취소 완료 후, 6시간 이내 승인취소 전월 구매내역 취소시 취소 완료 후, 1~2일 내 환불계좌로 입금(영업일 기준) |
당일취소 : 휴대폰 결제 승인취소 익월취소 : 계좌입금 |
포인트 | 취소 완료 후, 당일 포인트 적립 | 환불 포인트 적립 |
- 단순변심으로 인한 반품 시, 배송 완료 후 7일이 지나면 취소/반품 신청이 접수되지 않습니다.
- 주문/제작 상품의 경우, 상품의 제작이 이미 진행된 경우에는 취소가 불가합니다.
- 구성품을 분실하였거나 취급 부주의로 인한 파손/고장/오염된 경우에는 취소/반품이 제한됩니다.
- 제조사의 사정 (신모델 출시 등) 및 부품 가격변동 등에 의해 가격이 변동될 수 있으며, 이로 인한 반품 및 가격보상은 불가합니다.
- 뷰티 상품 이용 시 트러블(알러지, 붉은 반점, 가려움, 따가움)이 발생하는 경우 진료 확인서 및 소견서 등을 증빙하면 환불이 가능하지만 이 경우, 제반 비용은 고객님께서 부담하셔야 합니다.
- 각 상품별로 아래와 같은 사유로 취소/반품이 제한 될 수 있습니다.
상품군 | 취소/반품 불가사유 |
---|---|
의류/잡화/수입명품 | 상품의 택(TAG) 제거/라벨 및 상품 훼손으로 상품의 가치가 현저히 감소된 경우 |
계절상품/식품/화장품 | 고객님의 사용, 시간경과, 일부 소비에 의하여 상품의 가치가 현저히 감소한 경우 |
가전/설치상품 | 전자제품 특성 상, 정품 스티커가 제거되었거나 설치 또는 사용 이후에 단순변심인 경우, 액정화면이 부착된 상품의 전원을 켠 경우 (상품불량으로 인한 교환/반품은 AS센터의 불량 판정을 받아야 합니다.) |
자동차용품 | 상품을 개봉하여 장착한 이후 단순변심의 경우 |
CD/DVD/GAME/BOOK등 | 복제가 가능한 상품의 포장 등을 훼손한 경우 |
상품의 시리얼 넘버 유출로 내장된 소프트웨어의 가치가 감소한 경우 | |
노트북, 테스크탑 PC 등 | 홀로그램 등을 분리, 분실, 훼손하여 상품의 가치가 현저히 감소하여 재판매가 불가할 경우 |