장바구니 담기 close

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

만들면서 배우는 코틀린 & 안드로이드 프로그래밍

만들면서 배우는 코틀린 & 안드로이드 프로그래밍

  • 유병석
  • |
  • 위키북스
  • |
  • 2021-04-29 출간
  • |
  • 992페이지
  • |
  • 188 X 240 mm
  • |
  • ISBN 9791158392529
판매가

36,000원

즉시할인가

32,400

배송비

무료배송

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

수량
+ -
총주문금액
32,400

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

출판사서평



★ 이 책에서 다루는 내용 ★

◎ 코틀린 기초 문법
◎ 객체지향 프로그래밍 기초 (클래스, 상속)
◎ 객체지향 프로그래밍 고급 및 클래스 활용법
◎ 안드로이드 앱 개발에 필요한 개념
◎ 안드로이드 스튜디오 및 API 활용법
◎ 5가지 실전 프로젝트를 진행하며 다양한 기능을 수행하는 안드로이드 앱 구현


목차


[1부] 코틀린 프로그래밍 언어

▣ 01장: 들어가며
코틀린 프로그래밍 언어
인텔리J IDEA 설치
첫 번째 코틀린 프로그램
콘솔창을 이용한 출력과 입력
코틀린 예제 코드 내려받기

▣ 02장: 변수와 자료형
변수의 개념
변수와 상수 선언
___변수 선언
___상수 선언
___변수와 상수의 명명 규칙
변수의 타입
___숫자 타입
___문자 타입
___문자열 타입
___논리값 타입
배열 타입
Any 타입
타입 변환
Nullable 타입
___조건문에서 null 값 대입 여부를 검사한 후 값에 접근
___안전 호출 연산자를 사용해 값에 접근
___엘비스 연산자를 이용해 값에 접근
___null 값이 아님을 보장하는 연산자를 사용해 값에 접근
___null을 반환하는 타입 변환 메서드
주석

▣ 03장: 연산자
산술 연산자
대입 연산자
복합 대입 연산자
단항 연산자
비교 연산자
논리 연산자
인덱스 접근 연산자
in 연산자
연산자 우선순위

▣ 04장: 제어문
분기문
___if 문을 이용한 분기
___if 표현식과 삼항 연산자
___when - case 표현식을 이용한 분기
반복문
___while 문
___do - while 문
___for 문
___for 문을 이용한 배열과 컬렉션 순회
___break와 continue 명령어

▣ 05장: 함수
함수의 개념
함수 정의
함수 축약 정의
기본 인자값 정의
가변 인자 전달
___전개 연산자를 이용한 배열값 전달
이름을 통한 인자값 전달
람다 함수와 고차 함수
___람다 함수의 정의와 생성
___it을 이용한 람다 함수 내부에서의 인자값 접근
___함수 타입 추론
___함수의 반환값으로 람다 함수를 반환
___함수의 인자로 람다 함수를 전달
함수 내부에 정의하는 로컬 함수
패키지
함수 오버로딩
함수 참조 연산자
범위 함수
객체지향 프로그래밍

▣ 06장: 객체지향 프로그래밍 기초
객체지향 프로그래밍과 클래스
클래스 정의
___클래스 생성자
___보조 생성자의 개념과 정의
___this 키워드를 이용한 객체 접근
접근 제어자의 개념
___접근 제어자를 이용한 변수, 상수 및 함수 정의
속성과 게터, 세터 메서드
Lazy와 lateinit을 이용한 속성값 초기화
상속
___super 키워드를 이용한 부모 객체 접근
___메서드 오버라이드
___메서드 오버로딩
___추상 클래스
___Any 클래스
인터페이스
___인터페이스와 다중 상속
타입 확인과 타입 변환
___is, !is 키워드를 이용한 타입 확인
___as 키워드를 이용한 타입 변환
___업캐스팅과 다운캐스팅
___스마트 캐스트
___안전한 형변환을 위한 as? 키워드
object 키워드와 익명 클래스

▣ 07장: 객체지향 프로그래밍 고급
데이터 클래스
___equals 메서드와 hashCode 메서드 재정의
열거형 클래스
봉인 클래스
내부 클래스
확장 함수
중위 표기법을 이용한 메서드 및 함수 호출
object 키워드와 싱글턴 클래스
companion object 키워드를 이용한 클래스 변수, 상수, 함수 정의
___const 키워드와 @JvmField 애너테이션의 활용
유용한 패키지와 클래스
___문자열 클래스
___수학 패키지
___난수 클래스
___날짜 클래스
___시스템 클래스

▣ 08장: 예외 처리
예외 처리의 개념
try - catch 표현식 활용
___스택 트레이스와 예외 발생 이유 찾기
___여러 catch 블록의 중첩
___finally 블록
throw 키워드를 이용한 예외 발생
표현식으로 사용되는 try - catch
예외 클래스 정의
제네릭의 개념과 활용

▣ 09장: 제네릭
제네릭을 적용한 제네릭 함수
컬렉션의 개념
___mutable과 immutable

▣ 10장: 컬렉션
리스트
___리스트의 정렬

집합
컬렉션에서 제공하는 유용한 확장 함수
___forEach, forEachIndexed
___map
___filter
___partition
___reduce
___count
___zip
___associate
___groupBy
___distinct
___min, max, sum, average, count
___any, all, none
Iterable 인터페이스

▣ 11장: 파일 입출력
파일 입출력이란?
파일 생성
텍스트 파일 입출력
이진 파일 입출력
디렉터리 관련 작업 수행

[2부] 실전 안드로이드 프로젝트

▣ 프로젝트 01: Hello Android
안드로이드 스튜디오 설치와 가상 단말기 생성
___안드로이드 스튜디오 설치
___프로젝트 생성 및 실행
___완성된 프로젝트 불러오기
___화면 패널 소개
___AVD Manager를 이용한 안드로이드 에뮬레이터 사용
XML 기초 개념
레이아웃 XML 파일과 다양한 리소스
___뷰와 뷰그룹 개념
___뷰와 식별자 할당
___res 폴더와 리소스 파일
___문자열 리소스 및 색상 리소스 파일에 정의된 리소스 사용
___R.java 파일과 리소스 식별자
___안드로이드에서 사용되는 가상 단위 DP
첫 액티비티 코드 분석과 수정
___레이아웃 파일 생성 및 새 레이아웃 적용
___식별자를 이용한 뷰 객체 접근
___클릭 이벤트 리스너 등록
로그캣과 토스트를 이용한 메시지 출력
___로그캣을 이용한 로그 메시지 출력
___토스트를 이용한 메시지 출력
액티비티의 개념과 액티비티 생명주기
___단말기 상태 변경과 관련된 UI 상태 저장
자주 쓰이는 뷰그룹
___LinearLayout 뷰그룹
___RelativeLayout 뷰그룹
___중첩 뷰그룹의 활용
자주 쓰이는 뷰
___TextView, ImageView 뷰
___Button, ImageButton, ToggleButton 뷰
___EditText 뷰
___CheckBox, RadioButton 뷰
___Spinner 뷰
동적 생성된 뷰를 이용한 레이아웃 구성
AndroidManifest.xml 설정 파일
런처 아이콘 설정
그레이들 파일 설정

▣ 프로젝트 02: 오늘의 명언
프로젝트 생성
액티비티 생성과 레이아웃 구성, 명언 출력 기능 구현
액티비티 정보 수정
SharedPreferences 인터페이스의 개념
___SharedPreferences 객체 접근
___Editor 객체를 이용한 데이터 저장, 수정, 삭제
___SharedPreferences 객체를 사용한 명언 데이터 저장
명언 목록 액티비티 생성
명시적 인텐트를 이용한 액티비티 이동
명언 목록 액티비티 구성
명언 편집 액티비티 구성
명언 공유하기 기능 작성

▣ 프로젝트 03: 날씨와 미세먼지
프래그먼트의 개념과 활용
___프래그먼트에 필요한 초깃값 전달
___리스너 구현을 통한 프래그먼트와 액티비티 통신
프로젝트 생성과 UI 구성
___프래그먼트 활용
날씨 정보 API 서비스 신청
인터넷 권한 설정과 네트워크 요청 전송
___비동기 작업을 정의하기 위한 AsyncTask 클래스 활용
___AsyncTask 클래스를 상속받는 네트워크 요청 클래스 작성
___Jackson 라이브러리 의존성 추가 및 JSON 문자열의 역직렬화
미세먼지 정보 API 서비스 신청
미세먼지 프래그먼트 생성
ViewPager를 이용한 프래그먼트 전환
위치 정보 접근
앱 UI 개선
___배경 그라데이션 추가
___애니메이션 리소스 활용
___벡터 이미지 활용
Retrofit 라이브러리를 이용한 HTTP 통신

▣ 프로젝트 04: 뽀모도로
서비스와 브로드캐스트의 개념
___서비스의 개념
___시스템에서 전달되는 브로드캐스트 메시지
___포어그라운드 서비스의 필요성
프로젝트 생성과 UI 구성
서비스 생성 및 알람 기능 구현
사용 환경 개선
___알람 시간 선택 기능 추가
___알람까지 남은 시간을 액티비티 뷰로 표시
___다양한 미디어를 이용한 알림 설정
설정 프래그먼트 추가
상태바 메시지에 시간 정보 표시 및 갱신
앱 UI 개선
___툴 바 커스터마이징 및 액션바 대체
___커스텀 뷰 작성 및 활용

▣ 프로젝트 05: 퀴즈퀴즈
프로젝트 생성
내비게이션 드로어를 이용한 메뉴 생성
___헤더와 메뉴 구성
Quiz 클래스 정의 및 Room 데이터베이스 설정
XML 리소스를 이용한 로컬 데이터베이스 구성
___애셋 폴더 생성 및 퀴즈 데이터가 담긴 XML 애셋 파일 추가
___초기 퀴즈 데이터를 데이터베이스에 추가
퀴즈 프래그먼트의 기초 기능 구현
퀴즈 목록 프래그먼트 및 퀴즈를 수정, 추가, 삭제하는 액티비티 생성
퀴즈 관리 액티비티 구현
퀴즈 수정 및 삭제 기능 구현
퀴즈 추가 기능 구현
___퀴즈 내용 검증 기능 구현
___퀴즈 추가, 수정, 삭제 이후 퀴즈 목록을 갱신하는 문제 해결
___퀴즈 풀이 프래그먼트 기능 개선
___퀴즈 목록 필터링 기능 추가
퀴즈 풀이 화면의 타이머 기능 구현을 통한 제한 시간 설정
UI 개선
___프래그먼트 전환 애니메이션 추가
___커스텀 폰트 적용
___퀴즈 결과 프래그먼트 화면 수정
___카드뷰 활용
___피드백 이미지 및 선택지 버튼에 애니메이션 효과 적

교환 및 환불안내

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