SNS 앱을 만들면서 배우는 안드로이드 클라이언트 개발

팀 프로젝트를 진행하며 만들어 보는 SNS 앱
$31.75
SKU
9791165921859
+ Wish
[Free shipping over $100]

Standard Shipping estimated by Thu 05/23 - Wed 05/29 (주문일로부 10-14 영업일)

Express Shipping estimated by Mon 05/20 - Wed 05/22 (주문일로부 7-9 영업일)

* 안내되는 배송 완료 예상일은 유통사/배송사의 상황에 따라 예고 없이 변동될 수 있습니다.
Publication Date 2022/11/28
Pages/Weight/Size 173*230*30mm
ISBN 9791165921859
Categories IT 모바일 > 모바일 프로그래밍
Description
한 권으로 끝내는 안드로이드 클라이언트 개발
앱 개발도 배우면서 팀 프로젝트 경험까지!


이 책은 기획자, 디자이너, 서버 개발자 그리고 클라이언트 개발자가 팀을 이뤘다는 가정 하에 SNS 앱을 만드는 프로젝트를 진행한다. 클라이언트 개발자의 입장에서 각 팀원이 만든 스토리보드, 디자인 리소스와 가이드, API 서버와 문서를 참고하여 앱을 구현한다. SNS 앱 개발에 필요한 기술을 익히는 동시에 팀 프로젝트도 경험할 수 있는 책으로, 안드로이드 개발자를 준비하는 사람들에게 가장 유익한 책이 될 것이다.
Contents
서문
저자 소개
베타 리더 추천사
스토리보드
디자인 가이드
API 문서

1장 팀 프로젝트를 맛보자

1.1 프로젝트 소개
1.2 기획자의 스토리보드
1.3 디자이너의 디자인 가이드
1.4 서버 개발자의 서버와 API 문서
___1.4.1 API 문서
___1.4.2 서버 설치

2장 안드로이드 개발을 준비하자

2.1 메인 화면 개발 문서
2.2 안드로이드 개발환경 준비
___2.2.1 아이콘 교체
___2.2.2 테스트 기기 준비
___2.2.3 메인 레이아웃 만들기
___2.2.4 뷰 바인딩으로 findViewByld 대체하기

3장 서버와 함께 Hello, world!

3.1 오늘의 질문 개발 문서
3.2 HTTP
___3.2.1 URI 구조
___3.2.2 HTTP 요청
___3.2.3 HTTP 응답
___3.2.4 HTTP 메서드
___3.2.5 자주 사용하는 HTTP 헤더
___3.2.6 HTTP 상태 코드
3.3 개발자 도구로 HTTP 요청과 응답 보기
3.4 오늘의 질문 레이아웃 만들기
3.5 HttpURLConnection으로 API 호출하기

4장 Gson으로 JSON을 다뤄보자

4.1 JSON이란
4.2 Gson 사용
___4.2.1 JSON 속성 네이밍 정책
___4.2.2 커스텀 직렬화와 역직렬화
___4.2.3 null 값 직렬화
___4.2.4 보기 좋게 출력하기

5장 REST API로 오늘의 질문을 가져오자

5.1 답 쓰기/수정 개발 문서
5.2 RESTful API란
___5.2.1 RESTful URI 설계
___5.2.2 HTTP 메서드
___5.2.3 HTTP 상태 코드
5.3 Retrofit 사용법
___5.3.1 컨버터 팩토리
___5.3.2 Gson 타입 어댑터
___5.3.3 HTTP 로그 출력하기
___5.3.4 타임아웃 설정하기
5.4 오늘의 질문에 답하기

6장 JWT로 사용자를 인증하자

6.1 로그인 개발 문서
6.2 OAuth 2.0
___6.2.1 권한 허가 프로토콜의 역할과 절차
___6.2.2 소셜 로그인과 OpenID Connect
6.3 JWT란
___6.3.1 헤더
___6.3.2 페이로드
___6.3.3 서명
6.4 Base64
___6.4.1 Base64 인코딩
___6.4.2 안드로이드의 Base64 플래그
6.5 로그인 만들기
___6.5.1 Authorization 헤더 추가하기
___6.5.2 토큰 갱신

7장 Retrofit과 Coil로 이미지를 다뤄보자

7.1 이미지 보기/업로드 개발 문서
7.2 Coil로 이미지 로딩 쉽게 하기
7.3 Retrofit으로 이미지 업로드하기
___7.3.1 Retrofit에서 Multipart 요청 보내기
7.4 오늘의 질문에 이미지로 답하기
7.5 답 영역에 이미지 표시하기

8장 타임라인 나눠서 불러오기

8.1 타임라인 개발 문서
8.2 페이징이란
___8.2.1 페이징 라이브러리
8.3 타임라인 만들기
___8.3.1 로딩 상태 표시

9장 캐시로 HTTP를 효율적으로 사용하자

9.1 상세보기 개발 문서
9.2 HTTP 캐시
___9.2.1 Cache-Control
___9.2.2 조건부 요청
___9.2.3 Age
9.3 상세보기 만들기
9.4 로그에서 캐시 확인하기

10장 Room으로 오프라인 액세스를 지원하자

10.1 프로필 보기 개발 문서
10.2 오프라인 캐시
10.3 프로필 만들기
10.4 Room Persistence 라이브러리
___10.4.1 Room 구성
10.5 프로필 개선
10.6 타임라인 개선

11장 FCM으로 실시간 알림을 받아보자

11.1 실시간 알림 개발 문서
11.2 FCM 연동하기
___11.2.1 파이어베이스 프로젝트 만들기
___11.2.2 안드로이드 클라이언트 설정
___11.2.3 API 서버 설정

12장 테마로 취향을 존중하자

12.1 테마 선택 개발 문서
12.2 스타일과 테마
___12.2.1 스타일
___12.2.2 테마
12.3 기본 테마 정리
12.4 테마 선택 기능 만들기

13장 그래들로 배포를 준비하자

13.1 그래들 스크립트들
___13.1.1 settings.gradle
___13.1.2 프로젝트의 build.gradle
___13.1.3 모듈의 build.gradle
___13.1.4 gradel-wrapper.properties
___13.1.5 gradle.properties
___13.1.6 local.properties
13.2 그래들 태스크
13.3 안드로이드 플러그인
___13.3.1 빌드 유형
___13.3.2 난독화와 코드 축소
___13.3.3 서명
___13.3.4 제품 버전
___13.3.5 버전 차원
___13.3.6 소스 세트
___13.3.7 매니페스트 플레이스홀더
___13.3.8 BuildConfig에 필드 추가
___13.3.9 리소스 추가

14장 부록

부록 A 파이어베이스로 앱 품질 높이기
___A.1 애널리틱스
___A.2 크래시리틱스
부록 B 개발자가 알아야 할 날짜와 시간
부록 C 계속되는 공부를 위한 조언

감사의 글
찾아보기
Author
장성환
광운대 컴퓨터공학부를 졸업하고 앱 공모전에서 다수 입상하며 모바일 분야로 진로를 결정했다. NCSoft에 입사하여 좋은 사람들과 열심히, 그리고 즐거운 개발을 했다. 1인 개발자를 꿈꾸며 퇴사한 후 우여곡절 끝에 혼자 만든 앱들이 구글 플레이와 애플 앱 스토어에 피처드되어 자리를 잡았다. 기획부터 디자인, 개발, 고객 응대까지 직접 하며 즐겁게 개발하고 있다.
광운대 컴퓨터공학부를 졸업하고 앱 공모전에서 다수 입상하며 모바일 분야로 진로를 결정했다. NCSoft에 입사하여 좋은 사람들과 열심히, 그리고 즐거운 개발을 했다. 1인 개발자를 꿈꾸며 퇴사한 후 우여곡절 끝에 혼자 만든 앱들이 구글 플레이와 애플 앱 스토어에 피처드되어 자리를 잡았다. 기획부터 디자인, 개발, 고객 응대까지 직접 하며 즐겁게 개발하고 있다.