장바구니 담기 close

장바구니에 상품을 담았습니다.

애프터스킬 안드로이드 with Kotlin 앱 프로그래밍 가이드

애프터스킬 안드로이드 with Kotlin 앱 프로그래밍 가이드 안드로이드 9.0 파이, 자바+코틀린 APP 개발 필독서

  • 안귀정
  • |
  • 아이콕스
  • |
  • 2019-01-12 출간
  • |
  • 918페이지
  • |
  • 188 X 257 mm
  • |
  • ISBN 9791186886892
★★★★★ 평점(10/10) | 리뷰(1)
판매가

40,000원

즉시할인가

36,000

카드할인

0원(즉시할인 0%)

적립금

2,000원 적립(5%적립)

배송비

무료배송

(제주/도서산간 배송 추가비용:3,000원)

추가혜택

네이버페이 무조건 1%적립+ 추가 1%적립

수량
+ -
총주문금액
36,000

이 상품은 품절된 상품입니다

※ 스프링제본 상품은 반품/교환/환불이 불가능하므로 신중하게 선택하여 주시기 바랍니다.

출판사서평

책의 첫 기획 단계에서부터 고려된 가장 중요한 사항은 기존 안드로이드 도서와의 차별화를 꾀하기 위한 2가지 측면이었습니다.

 

첫째, 프로그램 개발의 전반적인 개념을 수록하였습니다. 많은 안드로이드 서적은 이미 Java 프로그래밍 언어를 선행 학습으로 익힌 것을 전제하므로, 프로그래밍과 Java 언어에 대한 개념 이 없다면 이를 응용한 안드로이드 책은 어려워질 수밖에 없습니다. 이 책은 프로그래밍 전반에 대한 내용과 Java는 물론, 새롭게 공식 언어로 지정된 Kotlin(코틀린)에 대한 내용까지 수록하였습니다. 물론 프로그래밍의 개념 전반과 Java, Kotlin까지 모두 1 권으로 담기에는 부족한 측면도 있겠지만, 실제 프로그래밍 과정에서 모든 관련 이론과 지식을 전체적으로 사용하는 것은 아니므로 적어도 안드로이드 앱 개발을 위해 반드시 알아야 하거나 실무에서 자주 사용되는 API 등 보다 기능적인 필수 사항들을 챙길 수 있다면 앱 개발을 희망 하는 분들께는 큰 도움이 될 것이라 생각했습니다.

 

둘째, 안드로이드와 프로그래밍의 개념을 단순 나열식으로 접근하는 것이 아니라, 실전형 앱 위주의 예제를 통해 접근하려고 노력한 부분입니다. 안드로이드의 기초적인 요소들을 나열한 후 그 요소들을 간단히 사용해 보는 구성이 아닌, 이 책은 먼저 실제 앱들과 비슷한 앱을 제시하고 해당 앱을 구현해 가는 과정을 통해 프로그래밍 개념들을 함께 완성해 갑니다. 이는 독자 여러 분이 프로그래밍에 대한 두려움보다 더욱 도전적인 자세로 "나도 할 수 있다"는 자신감을 갖기를 원했기 때문입니다.

 

많은 프로그램이 모든 지식을 요구하는 것이 아니며, 실무의 프로 개발자들 역시 모든 관련 지식을 익혀 개발하는 것은 아닙니다. 오히려 개발 분야는 매우 빠르게 변화하기 때문에 개발의 시작 전에 모든 것을 알고 개발하는 경우는 손에 꼽을 정도로 적습니다. 책에서 다룬 예제들을 최대한 많이 변경해 가며 그 개념과 필요성을 자신의 것으로 만들어 가다 보면 다른 프로그래밍을 배울 때에도 많은 도움이 될 것이라 생각합니다. 이 책과 함께할 모든 독자분들이 안드로이드 앱 개발은 물론 나아가 희망하는 모든 프로그램 영역에서 두려움보다는 자신감과 도전 정신을 갖게 되기를 희망합니다.


목차

머리말

도서 가이드

부록 다운로드

목차

 

CHAPTER .1 안드로이드 (Android) 소개

1.1 안드로이드란?

1.2 안드로이드의 특징

01 오픈 소스와 무료 라이선스

02 Java와 Kotlin

03 Android Studio

04 빠르고 지속적인 업데이트

1.3 안드로이드의 연혁

 

CHAPTER .2 개발 환경 구축

2.1 JDK(Java Development Kit) 설치

2.2 Android Studio 설치

 

CHAPTER .3 안드로이드 베이직 by "Hello World"

3.1 프로젝트(Project) 생성과 실행

3.2 프로젝트의 구조

3.3 프로그래밍의 기본

3.4 컴파일(Compile)과 빌드(Build)

3.5 주석(Comment)의 이해

3.6 시작점(Entry Point)과 매니페스트(Manifest) 파일

3.7 변수와 데이터 형식

3.8 제어와 분기방법(if, else if, else, for, while)

3.9 함수와 메소드(Method), 리소스(Resource)

3.10 객체 지향(OOP)과 클래스(Class), 인스턴스(Instance)

3.11 라이브러리(Library)와 프레임워크(Framework), 콜백(Callback)

 

CHAPTER .4 Kotlin 실전 프로그래밍

4.1 Kotlin에 대하여

01 Kotlin의 특징

02 학습 주안점

4.2 샘플 앱 제작

01 프로젝트 생성

02 코드 살펴보기

4.3 확장 플러그인(Plug-in)

01 기능과 활용

02 초기 화면 UI 구현

03 Java/Kotlin 공통 UI 구현

04 Java/Kotlin 개별 액티비티(Activity)

05 메인 액티비티 연결

06 Java용 BMI 계산 앱

07 Kotlin용 BMI 계산 앱

4.4 변수

01 변수 선언

02 변수 샘플용 연결 UI

03 공통 UI 구현

04 개별 액티비티

05 메인 액티비티 연결

06 Java 변수 샘플 앱

07 변수의 가변성과 불변성

08 Kotlin 변수 샘플 앱

09 변수의 타입 추론

4.5 프로그램 흐름 제어

01 공통 UI 구현

02 개별 액티비티

03 Java의 if, else, switch

04 Kotlin의 if, else, when

05 Kotlin의 반복문 활용

4.6 함수

01 함수 선언 방법

02 Java의 정적 유틸리티 클래스

03 Kotlin의 최상위 함수

04 Java에서 Kotlin 최상위 함수 사용

05 Java의 함수 디폴트 파라미터

06 Kotlin의 함수의 디폴트 파라미터

07 함수의 이름 붙인 인자

4.7 클래스(Class)

01 테스트 케이스

02 Java/Kotlin 개별 테스트 케이스

03 Getter, Setter 클래스

04 프로퍼티(Property)와 필드(Field)

05 클래스 상속

06 클래스 위임

07 프로퍼티 위임

08 Singleton 패턴 및 Object 클래스

09 Data 클래스

10 클래스의 가시성 변경자

11 내부 클래스와 중첩 클래스

4.8 람다(Lambda)

01 람다란?

02 람다 식의 문법

03 Collection의 함수형 API

4.9 확장 함수

01 확장 함수란?

02 확장 함수의 사용

03 Java의 확장 함수 호출

4.10 널 안전성(Null Safety)

01 Null, Null Pointer Exception(NPE)

02 Kotlin의 타입 시스템, Null 가능성

03 안전한 호출 연산자 ?. 엘비스 연산자 ?:

 

CHAPTER .5 로또 번호 생성기

5.1 로또 번호 생성 앱이란?

5.2 프로젝트 생성

01 프로젝트와 패키지 네임(Package Name)

02 타겟 플랫폼 및 최소 지원(Minimum SDK) 버전

03 액티비티 템플릿 선택

04 액티비티 생성 마무리

5.3 화면 설계와 액티비티

01 액티비티의 개념

02 화면 설계

03 실습용 액티비티 생성

5.4 인텐트(Intent) 및 화면 전환

01 인텐트의 개념

02 인텐트 실습용 TestActivity

03 다른 액티비티 간 화면 전환

04 인텐트 유형 및 구성 요소

5.5 뷰(View), 뷰 그룹(View Group), 레이아웃(Layout)

01 뷰의 속성

02 뷰 그룹과 레이아웃

5.6 Absolute 레이아웃과 멀티 해상도 지원

01 Absolute 레이아웃이란?

5.7 Linear 레이아웃으로 첫 화면 구현

01 Linear 레이아웃의 개념과 Orientation

02 gravity, layout_gravity 속성

03 Margin

04 Padding

05 weight 속성

06 레이아웃 중첩(nested)

07 메인 화면 UI 완성

5.8 Relative 레이아웃으로 별자리 입력 화면 구현

01 Relative 레이아웃의 개념

02 부모 뷰 기준 배치

03 RTL(Right To Left) 지원

04 형제 뷰 기준 배치

05 Relative 레이아웃으로 화면 완성

5.9 Constraint 레이아웃으로 이름 입력 화면 구현

01 Constraint 레이아웃의 tools:layout_editor 속성

02 Constraint 레이아웃과 제약 관계

03 다른 뷰와의 제약

04 Bias

05 Aspect Ratio

06 Circle 제약

07 가이드라인(Guideline)

08 체인(Chain)

09 Constraint 레이아웃으로 화면 완성

5.10 테마(Theme)와 UI

01 테마의 개념과 컬러 생성

02 테마 생성 및 사용 색 지정

03 액티비티에 테마 지정

5.11 Constraint 레이아웃과 인텐트 복습

01 가이드라인 배치

02 AppCompatTextView 생성

03 로또 공 이미지 배치

04 하단 고정 이미지 추가

05 인텐트 활용한 UI 연결

5.12 Random, Shuffle

01 난수란?

02 Random

03 Shuffle

5.13 Hash Code

01 해시코드의 개념

02 입력된 이름별 로또 번호 생성

03 매일 다른 로또 번호 생성

04 별자리별 로또 번호 생성

5.14 앱 아이콘, 이름, 동적 테마

01 앱의 이름 변경

02 문자열 리소스 및 다국어 지원

03 앱 아이콘 변경

5.15 정리

 

CHAPTER .6 구글 플레이스토어 개발자 등록 및 배포

6.1 구글 플레이 개발자 등록

01 구글 계정 생성

02 개발자 계정 등록

6.2 플레이스토어 배포

01 Signed APK 생성

02 스토어 등록정보 설정

03 앱 버전 준비

04 콘텐츠 등급 설정

05 가격 및 앱 배포 설정

6.3 정리

 

CHAPTER .7 퀴즈 잠금화면 앱

7.1 퀴즈 잠금화면 앱이란?

7.2 설정 화면과 앱 데이터 저장

01 프로젝트 생성 및 설정 화면 구현

02 안드로이드 앱 데이터 개요

7.3 파일로 앱 데이터 저장

01 내부 저장소의 앱 전용 디렉토리에 파일 저장

02 외부 저장소 사용 및 권한 요청

03 외부 저장소 앱 전용 디렉토리에 파일 저장

04 외부 저장소 임의 경로에 저장

7.4 SharedPreference

01 SharedPreference 테스트 UI 구현

02 SharedPreference로 앱 데이터 저장

03 PreferenceFragment

7.5 브로드캐스트(BroadcastReceiver)

01 브로드캐스트와 브로드캐스트 리시버(Receiver)

02 브로드캐스트 수신 제한

03 브로드캐스트 매니페스트 등록

04 런타임에 브로드캐스트 리시버 등록

7.6 서비스(Service)

01 서비스의 특징

02 LockScreenService 구현

7.7 퀴즈 잠금 설정화면

01 Preference XML 리소스 제작

02 PreferenceFragment로 환경 설정 UI 구현

7.8 퀴즈 잠금화면 UI

01 잠금화면용 액티비티 UI 구현

02 SeekBar 활용

03 9-Patch 이미지

7.9 퀴즈 잠금화면 앱 마무리

01 화면 꺼짐 후 퀴즈 화면 구현

02 퀴즈 데이터 생성 및 적용

03 SeekBar로 정/오답 체크

04 오답인 경우 진동 알림 구현

05 퀴즈별 정/오답 횟수 저장

06 재부팅 후 자동 실행 설정

7.10 정리 및 도전 과제

01 정리

02 도전 과제

 

CHAPTER .8 펀치력 측정 앱

8.1 펀치력 측정 앱이란?

8.2 프로젝트 생성과 첫 화면 UI 구현

01 첫 화면 UI 작성

02 결과 화면 UI 작성

8.3 가속도 센서

01 3방향 가속도 센서

02 가속도 센서의 사용법

8.4 구글 게임 서비스 리더보드 연동

01 결과 화면 구현

02 구글 게임 서비스 활성화

03 구글 게임 서비스 리더보드 연동 설정

04 구글 리더보드 코드 구현

05 에뮬레이터 가상 센서 활용

8.5 애니메이션 효과

01 뷰 애니메이션 Translate

02 뷰 애니메이션 Rotate

03 뷰 애니메이션 Scale, Alpha

04 뷰 애니메이션 Callback, Stop

05 속성 애니메이션 Translate, Rotate, Scale, Alpha

06 속성 애니메이션 Background Color Animation

8.6 정리 및 도전 과제

01 정리

02 도전 과제

 

CHAPTER .9 서울시 화장실 찾기 앱

9.1 서울시 화장실 찾기 앱이란?

9.2 프로젝트 생성

9.3 구글 맵 연동

01 구글 맵 사용 등록

02 프로젝트에 구글 맵 적용

03 구글 맵 포함된 레이아웃 생성

04 구글 맵 연동 코드 작성

9.4 서울 열린 데이터 광장 API 연동

01 회원 가입

02 공공 화장실 위치 API 신청

03 인터넷 사용 권한 요청

04 UI 쓰레드와 네트워크 작업

05 공공 화장실 API 연동 코드 작성

9.5 구글 맵 클러스터링

01 구글 맵 클러스터링이란?

02 ClusterItem 구현

03 ClusterRenderer 구현

04 구글 맵에 ClusterManager 연동

9.6 검색 기능 사용

01 Search Bar UI 제작

02 Search Bar 기능 구현

9.7 정리 및 연습 문제

01 정리

02 연습 문제

 

CHAPTER .10 Firebase 연동 익명 SNS

10.1 익명 소셜 서비스 앱이란?

10.2 프로젝트 생성 및 화면 설계

10.3 목록 화면 UI 작성

01 메인 화면 구현

02 메인 화면 카드 구성

03 테마 및 컬러 지정

10.4 Firebase 연동

01 Firebase 데이터베이스 소개

02 데이터베이스와 실시간 데이터베이스

03 Firebase 가입

04 Firebase 연동

05 Firebase 연동 테스트

10.5 게시글 작성 화면 및 기능 구현

01 Post, Comment 클래스 구현

02 게시글 작성 레이아웃 구현

03 배경 이미지 목록 카드 UI 작성

04 배경 화면 선택 목록용 RecyclerView 적용

05 Firebase에 게시글 업로드 기능 구현

10.6 게시글 목록 및 상세 보기 기능 구현

01 게시글 목록 보기 기능 구현

02 게시글 상세 보기 UI 구현

03 상세 보기 화면 연결

04 상세 보기 화면 구현

05 댓글 쓰기 기능 구현

10.7 정리 및 연습 문제

01 정리

02 연습 문제

 

Appendix 부록

▷ 추가 개발정보

11.1 안드로이드 기본 요소 샘플

01 NavigationView, Viewpager, Fragment 예제

02 AlertDialog, DialogFragment 예제

03 ProgressBar, GridView 예제

04 음성 및 동영상 재생/저장

05 SQLite

06 지문 인식

07 Parcelable

08 WebView

09 FCM 푸시

10 지자기, 자이로 센서

11.2 안드로이드 개발 툴 사용

01 ADB 환경 설정

02 자주 사용하는 유용한 ADB 명령어

03 Monkey 테스트

04 안드로이드 스튜디오 Debugger(디버거) 사용 방법

05 Memory Leak과 활용할 수 있는 도구들

11.3 안드로이드 최근 개발 트렌드

01 안드로이드 9(Pie) 변경 사항

02 Android Data Binding

03 Anko 라이브러리

11.4 앱 제작 가이드

01 앱 제작 공통 가이드

02 샘플 앱으로 보는 제작 방법

03 앱 제작을 위한 기능별 용어 정리

04 자주 발생하는 예외 및 에러와 해결 방법

▷ 찾아보기


저자소개

지은이 : 안귀정

Adobe Flash Engie 안드로이드 포팅, 삼성 스마트 티비 LGU+ IPTV 앱 개발, 하나카드 모바일 간편결제 서비스 개발, SK Broadband 안드로이드 STB 개발, TJ 안드로이드 POS 개발, 호서직업전문학교 컴퓨터공학과

모바일 프로그래밍 강의, 개발자 커뮤니티 자바카페 운영진


도서소개



자바와 코틀린으로 직접 구현하며 익히는 실전형 앱 프로그래밍 완벽 가이드
!

안드로이드 9.0 파이(Pie), Java+Kotlin, 안드로이드 스튜디오 3.2, 실전형 앱 프로젝트

로또번호생성기, 퀴즈잠금화면앱, 펀치력측정앱, 서울시화장실찾기앱, 익명SNS앱 등

 

이런 앱이 있다면 좋지 않을까?”라는 가장 기본적인 아이디어로 시작되는 앱 개발!

하지만 알아야 할 자바(Java) 문법과 개념들로 인해 실제 출시까지의 앱 개발 과정은 생각보다 쉽지 않습니다. 더구나 보다 간결한 문법과 쉬운 기능 구현을 목표로 2011JetBrains에서 발표된 코틀린(Kotlin)이 특유의 장점을 바탕으로 2017년 구글 안드로이드 공식 개발 언어로 채택되면서, 안드로이드 개발을 막 시작하려는 분들에게는 자칫 부담이 커질 수 있는 상황입니다.

 

이에 본 책은 우선 기존의 자바와 코틀린을 비교 설명하고, 모든 실전형 앱 프로젝트들을 자바와 코틀린 각각으로 구현하는 과정을 통하여 보다 쉽고 효율적인 이해를 도울 수 있도록 구성하였습니다.

교환 및 환불안내

도서교환 및 환불
  • ㆍ배송기간은 평일 기준 1~3일 정도 소요됩니다.(스프링 분철은 1일 정도 시간이 더 소요됩니다.)
  • ㆍ상품불량 및 오배송등의 이유로 반품하실 경우, 반품배송비는 무료입니다.
  • ㆍ고객님의 변심에 의한 반품,환불,교환시 택배비는 본인 부담입니다.
  • ㆍ상담원과의 상담없이 교환 및 반품으로 반송된 물품은 책임지지 않습니다.
  • ㆍ이미 발송된 상품의 취소 및 반품, 교환요청시 배송비가 발생할 수 있습니다.
  • ㆍ반품신청시 반송된 상품의 수령후 환불처리됩니다.(카드사 사정에 따라 카드취소는 시일이 3~5일이 소요될 수 있습니다.)
  • ㆍ주문하신 상품의 반품,교환은 상품수령일로 부터 7일이내에 신청하실 수 있습니다.
  • ㆍ상품이 훼손된 경우 반품 및 교환,환불이 불가능합니다.
  • ㆍ반품/교환시 고객님 귀책사유로 인해 수거가 지연될 경우에는 반품이 제한될 수 있습니다.
  • ㆍ스프링제본 상품은 교환 및 환불이 불가능 합니다.
  • ㆍ군부대(사서함) 및 해외배송은 불가능합니다.
  • ㆍ오후 3시 이후 상담원과 통화되지 않은 취소건에 대해서는 고객 반품비용이 발생할 수 있습니다.
반품안내
  • 마이페이지 > 나의상담 > 1 : 1 문의하기 게시판 또는 고객센터 1800-7327
교환/반품주소
  • 경기도 파주시 문발로 211 1층 / (주)북채널 / 전화 : 1800-7327
  • 택배안내 : CJ대한통운(1588-1255)
  • 고객님 변심으로 인한 교환 또는 반품시 왕복 배송비 5,000원을 부담하셔야 하며, 제품 불량 또는 오 배송시에는 전액을 당사에서부담 합니다.