코틀린 프로그래밍 쿡북
도서명:코틀린 프로그래밍 쿡북
저자/출판사:아난드,셰카르,로이,라시,카란푸리아/터닝포인트
쪽수:416쪽
출판일:2018-12-24
ISBN:9791161340364
목차
저자 소개
들어가며
1장: 설치 및 환경 구성
코틀린 안드로이드 프로젝트 생성
코틀린 코드 실행을 위해 Gradle(그레이들) 이용하기
컴파일된 코틀린 클래스 실행하기
그레이들과 코틀린으로 실행가능한 JAR 파일 만들기
콘솔에서 입력 받기
자바- 코틀린 간 코드 변환
코틀린으로 logger 만들기
자바 코드에서 코틀린 키워드로 취급되는 식별자 피하기
as 키워드로 한 파일 안에서 중복되는 클래스 이름 및 함수명 해결하기
코틀린에서의 비트 연산
문자열을Long, Double, Int로 파싱하기
문자열 템플릿 이용하기
2장. 제어 흐름
if 키워드를 활용한 값 할당
when과 함께 범위 사용
사용자 정의 오브젝트와 when
표현식으로서의 try-catch
also 함수를 이용한 swap 함수 만들기
사용자 정의 예외
다중 조건 반복문
3장. 클래스와 오브젝트
생성자 초기화
데이터 타입 변환
객체의 타입 체크
추상클래스
클래스 속성 순회
인라인 속성
중첩클래스
클래스 참조얻기
위임 속성 사용
열거형 사용
4장. 함수
함수에서 기본값 지정
함수에서 명명된 인수 사용
Kotlin에서 RecyclerView 어댑터 만들기
Kotlin에서 getter setter 만들기
변수인수를 함수에 전달
함수를 매개 변수로 전달
정적 함수 선언
Kotlin에서 use 키워드 사용
Kotlin의 클로저 작업
리시버가 있는 함수 리터럴
익명 함수로 작업하기
5장. 객체지향 프로그래밍
코틀린의 인터페이스
코틀린에서 다중 오버라이드된 메소드로 복잡한 인터페이스를 구현하는 방법
코틀린에서 클래스 확장하기(상속 및 확장 함수)
코틀린에서 제네릭을 사용하는 방법
코틀린에서 다형성을 구현하는 방법
클래스 계층 구조 제한
6장. 컬렉션 프레임워크
두 개의 컬렉션을 병합하는 방법
원본 컬렉션을 컬렉션쌍으로 분할
지정된 비교자로 리스트 정렬
내림차순으로 정렬
Gson을 사용하여 JSON 응답구문 분석하기
람다식을 사용하여 필터링 및 매핑하는 방법
객체 목록을 정렬하고 끝에 null 객체를 유지하는 방법
코틀린에서 lazy 리스트를 구현하는 방법
코틀린에서 문자열을 채우는 법
다차원 배열이나 맵을 1차원으로 바꾸는 방법
코틀린에서 여러 필드로 컬렉션을 정렬하는 방법
코틀린 리스트에서 limit 사용 방법
코틀린에서 2차원 배열을 만드는 방법
코틀린에서 처음 N 개의 항목을 건너 뛰는 방법
7장. 파일 핸들링
InputReader를 이용해 파일 읽기
InputReader를 이용해 파일의 모든 데이터 읽기
InputReader를 이용해 파일로부터 한 줄씩 읽기
BufferedReader를 이용해 파일 읽기
BufferedReader를 이용해 파일의 모든 데이터 읽기
BufferedReader를 이용해 파일로부터 한 줄씩 읽기
네트워크로부터 문자열과 JSON 데이터 읽기
8장. Anko Commons와 확장 함수
Gradle 프로젝트에서 Anko 사용 설정
확장 함수로 안드로이드 프레임워크 확장하기
확장 기능을 속성으로 사용하기
Anko에서 intent 사용하기
Anko를 이용해 전화 걸기
Anko를 이용해 문자메시지 보내기
Anko를 이용해 웹페이지 띄우기
Anko를 이용해 텍스트 공유하기
Anko를 이용해 이메일 보내기
Anko를 이용해 다이얼로그 만들기
텍스트 목록이 있는 다이얼로그 만들기
뷰에서 Anko 사용
Anko를 이용해 로그 남기기
Anko를 이용한 디스플레이 단위 사용
안드로이드 버전 체크하기
9장. Anko Layouts
Anko Layout을 위해 그레이들에 Anko 라이브러리 설정하기
코틀린 코드로 유저 인터페이스 만들기
이미 작성된 XML 레이아웃 이용하기
AnkoComponent 인터페이스 이용하기
Anko에서 안드로이드 테마 설정
Anko 뷰의 레이아웃 매개변수 설정
Anko 뷰에 이벤트 리스너 추가하기
DSL에서 XML 레이아웃 삽입하기
XML 파일을 DSL로 변환하기
스낵바 띄우기
토스트 띄우기
합성 속성을 이용해 뷰에 접근하기
확장 함수를 이용해 뷰그룹 안의 뷰에 접근하기
10장. 데이터베이스와 의존성 주입
코틀린에서 SQLite 사용하기
데이터베이스 테이블 생성
코틀린에서의 의존성 주입
데이터베이스로부터 데이터 읽기
데이터베이스 커서를 객체 리스트로 변환하기
널일 수 있는 객체를 위한 parseOpt
데이터베이스에 데이터 쓰기
싱글톤 객체 생성
코틀린에서 Dagger2 사용하기
코틀린에서 Butterknife 사용하기
11장. 네트워킹과 동시성
네트워크로부터 데이터 가져오기
데이터 클래스를 생성하기
데이터 클래스를 수정하면서 복제하기
JSON 파싱
파일 다운로드
RxJava와 함께 Retrofit 사용하기
RecyclerView를 이용해 무한 스크롤되는 리스트 만들기
안드로이드에서 백그라운드 작업을 위해 Anko 사용하기
코루틴을 이용한 멀티스레딩 구현
12장. 람다와 딜리게이트
람다를 이용한 클릭 리스너
지연 위임 속성
Delegates.observable
Delegates.vetoable
사용자 정의 Delegate
lateinit 사용
SharedPreferences 사용
전역변수 만들기
13장. 테스팅
코틀린 코드에 대해 단위 테스트 수행
Mockito를 이용한 단위 테스트
통합 테스트
코틀린에서 JUnit Rule 작성(@Rule)
Espresso를 이용한 인수 테스트
코틀린으로 assertEquals 작성
14장. 코틀린으로 웹서비스 만들기
톰캣에서 애플리케이션 실행하기
RESTful 서비스를 위한 의존성 설정
REST 컨트롤러 생성
스프링 부트를 위한 애플리케이션 클래스 생성