- 루비페이퍼 (2017/09/18)
루비페이퍼에서 출간한 [깡샘의 안드로이드 프로그래밍] 책을 위한 자료 공유
- AndroidLab : 책에 담긴 Step by Step 실습 및 도전과제 전체 코드
- 실습공유파일 : 책에 담긴 Step by Step 실습 및 도전과제를 진행하기 위해 필요한 공유 파일
- PPT : 책 PPT
Part1: 안드로이드 시작하기
1장. 개발환경을 구축하자!
- 1.1. 안드로이드 스튜디오 개발환경 구축 * 1.2. 첫번째 앱 만들고 실행하기
- 1.3. 앱 배포
2장. 안드로이드 프로젝트 이해
- 2.1. 안드로이드 앱 개발 특징
- 2.2. 개발 디렉토리와 파일 구조
- 2.3. 그레이들(gradle) 파일
- 2.4. Hello World 앱 코드 분석
- 2.5. 안드로이드 버전
Part2: 기본 앱을 만들기
- 3장. 사용자 인터페이스
- 3.1. UI 기본 구조
- 3.2. 뷰 아키텍처
- 3.3. 기초 뷰 활용
- 4장. 레이아웃을 활용한 다양한 뷰 배치
- 4.1. LinearLayout
- 4.2. RelativeLayout
- 4.3. FrameLayout
- 4.4. TabaleLayout
- 4.5. GridLayout
- 4.6. ConstraintLayout
- 5장. 다양한 사용자 알림 효과
- 5.1. 진동과 소리
- 5.2. 다이얼로그
- 6장. 사용자 이벤트 처리
- 6.1. Delegation Event Model
- 6.2. Hierarchy Event Model
- 7장. 리소스 활용 및 스마트폰 크기 호환성
- 7.1. 안드로이드 리소스
- 7.2. 스마트폰 크기 호환성
Part3 : 앱의 데이터를 영속화하자
- 8장. DBMS을 이용한 데이터 영속화
- 8.1. SQLite을 이용한 영속화
- 8.2. Realm을 이용한 데이터 영속화
- 9장. 파일 및 SharedPreferences을 이용한 데이터 영속화
- 9.1. 퍼미션
- 9.2. 파일에 읽고 쓰기
- 9.3. SharedPreferences와 앱 설정 자동화
Part4: 다양한 화면을 구성하자
- 10장. AdapterView 활용
- 10.1. Adapter와 AdapterView
- 10.2. 커스텀 Adapter
- 11장. 다양한 뷰 활용
- 11.1. Spannable
- 11.2. WebView
- 11.3. 기타 유용한 뷰
- 12장. ActionBar와 메뉴
- 12.1. ActionBar
- 12.2. 안드로이드 API Level과 하위 호환성
- 12.3. 메뉴
- 13장. 커스텀 뷰 개발
- 13.1. 커스텀 뷰 작성 방법
- 13.2. 그래픽 프로그램
Part5: 액티비티를 제대로 이해하고 개발하자
- 14장. Intent와 구글 기본 앱 연동
- 14.1. Intent
- 14.2. 구글 기본 앱 연동
- 15장. 액티비티 생명주기 및 다양한 제어
- 15.1. 액티비티 생명주기
- 15.2. 태스크 관리
- 15.3. 액티비티를 위한 다양한 설정
- 16장. 스레드와 핸들러
- 16.1. ANR과 스레드-핸들러
- 16.2. AsyncTask와 Looper
Part6: 상용 앱 수준의 화면을 구성하자
- 17장. Support 라이브러리 활용
- 17.1. Fragment
- 17.2. ViewPager
- 17.3. RecyclerView
- 18장. 머티리얼 디자인
- 18.1. NavigationDrawer, NavigationView
- 18.2. Snackbar, FloatingAcitonButton, TabLayout
- 18.3. Toolbar, AppBarLayout, CoordinationLayout
- 18.4. Bottom Sheet
Part7: 컴포넌트를 제대로 이해하고 개발하자.
- 19장. BroadcastReceiver와 Notification
- 19.1. BroadcastReceiver
- 19.2. Notification
- 20장. Service 컴포넌트
- 20.1. Service 기본 개념
- 20.2. AIDL의 이해
- 20.3. IntentService * 20.4. 시스템 서비스 * 20.5. 백그라운드 서비스 제한
- 21장. ContentProvider
- 21.1. ContentProvider 이해
- 21.2. 구글 기본 앱의 ContentProvider 이용
Part8: 위치 기반 서비스를 제공하자
- 22장. 위치 정보 획득
- 22.1. LocationManager 이용
- 22.2. Fused Location API 이용
- 23장. 지도 활용
- 23.1. 지도 출력
- 23.2. 구글 지도 제어
Part9: 서버 데이터를 활용하자.
- 24장. 네트워크 정보 활용
- 24.1. 다양한 네트워크 정보 활용
- 24.2. XML, JSON 데이터 파싱
- 25장. HTTP 통신
- 25.1. Java API를 이용한 HTTP 통신
- 25.2. Volley API를 이용한 HTTP 통신
- 25.3. Glide를 활용한 HTTP 통신
- 26장. 실시간 서버 푸시
- 26.1. 소켓 프로그램
- 26.2. Firebase Cloud Message
Part10: 다양한 기능을 제공하자.
- 27장. 스마트폰 기능 활용
- 27.1. SMS 송수신
- 27.2. 센서 다루기
- 27.3. 블루투스
- 28장. 카메라 활용
- 28.1. SurfaceView vs TextureView
- 28.2. Camera API
- 28.3. Camera2 API
- 29장. AppWidget 개발
- 29.1. 앱 위젯 기본 구조
- 29.2. Collection 앱 위젯 개발
- 30장. 멀티미디어 활용
- 30.1. 오디오, 비디오 재생
- 30.2. 음성, 영상 녹화
Part11: 코틀린으로 안드로이드 앱을 개발하자
- 31장. 안드로이드 스튜디오에서 코틀린으로 개발하기 * 31.1. 코틀린 소개 * 31.2. 안드로이드 스튜디오 3에서 코틀린 개발환경 * 31.3. 간단한 코드 분석으로 코틀린 이해하기
- 32장. 코틀린 기초 작성법 * 32.1. 코틀린 파일 작성 규칙 * 32.2. 기초 타입 * 32.3. 변수 및 함수 선언 * 32.4. 실행 흐름 제어
- 33장. 코틀린 OOP 프로그램 * 33.1. 클래스 정의 * 33.2. 상속 * 33.3. 추상 클래스와 인터페이스 * 33.4. 프로퍼티 * 33.5. 접근 제한자
- 34장. 코틀린으로 만드는 안드로이드 앱