책소개
안드로이드 앱 개발, 이제 코틀린으로 시작하자!
20여 년간 개발과 강의 현장에서 쌓은 ‘깡샘’의 노하우를 만나 보자!
이 책은 구글에서 공식 언어로 채택한 코틀린으로 안드로이드 앱을 개발하는 전 과정을 다룬다. IT 업계의 명강사인 깡샘이 입문자도 쉽게 이해할 수 있게 구성하여 이 책만으로도 코틀린 모바일 앱 개발자로 성장할 수 있도록 했다. 특히 우리가 한번쯤 사용해 본 기능들을 실습 주제로 다뤄서 끝까지 흥미를 잃지 않고 학습할 수 있다.
코틀린 문법은 핵심만 담았으며 앱의 첫 화면 설계부터 이벤트 처리, 알림, 데이터베이스, 위치 정보 활용, 네트워킹, 파이어베이스 연동 등 자주 쓰는 기능을 직접 만들어 본다. 이로써 독자는 안드로이드 앱의 구조와 개발 방법을 자연스럽게 익힐 수 있다. 그 뿐만 아니라 최신 트렌드에 맞춰 제트팩 androidx 라이브러리의 다양한 API도 소개하며, 안드로이드 버전에 따라 호환성을 고려한 개발도 자세하게 다룬다. 또한 이론과 실습을 분리해 놓아 강의 교재로도 손색이 없다
목차
첫째마당 | 안드로이드 앱 개발 준비하기
=============================
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 액티비티 제어
__13-4 태스크 관리
__13-5 액티비티 ANR 문제와 코루틴
__13-6 할 일 목록 앱 만들기 [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!]
찾아보기