안드로이드 디자인 패턴과 활용 사례 [신뢰할 수 있고 견고하며 효율적인 안드로이드 앱 만들기]
- 원서명Android Design Patterns and Best Practices (ISBN 9781786467218)
- 지은이카일 뮤(Kyle Mew)
- 옮긴이송무찬
- ISBN : 9791161750620
- 30,000원
- 2017년 10월 20일 펴냄 (절판)
- 페이퍼백 | 444쪽 | 188*235mm
- 시리즈 : acorn+PACKT
판매처
- 현재 이 도서는 구매할 수 없습니다.
책 소개
소스 코드 파일은 여기에서 내려 받으실 수 있습니다.
본문에 쓰인 컬러 이미지는 여기에서 내려 받으세요.
요약
디자인 패턴을 살펴보고, 안드로이드 API가 사용하는 디자인 패턴의 실제 사례를 중심으로 개별 패턴을 이해하기 쉽게 설명한다. 가상 서비스를 개발하면서 마주하는 문제에 대한 해결책으로 패턴을 배울 수 있다. 개별 디자인 패턴은 구체적인 예제와 함께 학습해서 개별 패턴을 쉽게 이해하고 사용할 수 있게 도와준다. 따라서 안드로이드 앱을 개발하는 개발자 대부분에게 도움이 될 것이다.
이 책에서 다루는 내용
■ 간단한 앱 제작 후 실 기기와 에뮬레이터에서의 실행
■ 안드로이드 스튜디오가 제공하는 머터리얼 디자인에 대한 위지익(WYSIWYG)과 XML 접근 방식
■ 터치스크린 리스너, 제스처 감지, 센서를 읽어 사용자 액션 감지
■ 트랜지션과 공유 요소를 적용한 멋진 애니메이션 사용과 모바일 기기에서의 작은 화면을 효율적으로 사용하는 방법
■ 특정 디렉터리를 사용해 앱에 다양한 기기에 어울리는 레이아웃 적용
■ 소셜 미디어에 연결한 앱을 디지털 단어로 소셜화
■ 앱컴팩(AppCompat) 지원 라이브러리를 사용한 많은 기기에서의 사용 방법
이 책의 대상 독자
기본적으로 안드로이드 개발 경험이 있는 개발자가 대상이다. 이 책을 최대한 활용하려면 기본적인 자바 프로그래밍 지식이 필요하다.
이 책의 구성
1장, 디자인 패턴(Design Pattern): 개발 환경 소개하고, 널리 사용하는 두 개의 패턴인 팩토리(factory)와 추상 팩토리(abstract factory)를 소개한다.
2장, 생성 패턴(Creational Pattern): 머티리얼(material)과 인터페이스 디자인을 다루고, 디자인 지원 라이브러리와 빌더 디자인 패턴을 살펴본다.
3장, 머티리얼 패턴(Material Pattern): 안드로이드 사용자 인터페이스, 그리고 앱 바와 슬라이딩 내비게이션 드로어(sliding navigation drawer) 같은 가장 중요한 머티리얼 디자인 컴포넌트를 일부 소개한다. 메뉴, 액션 아이콘, 그리고 메뉴와 액션 아이콘을 구현하는 방법과 드로어 리스너를 사용해서 사용자 액티비티를 감지하는 방법을 소개한다.
4장, 레이아웃 패턴(Layout Pattern): 이전 레이아웃에서부터 시작해서 안드로이드 레이아웃 디자인 패턴과 다양한 기기에서 동작하는 레이아웃을 만들기 위해 그래비티(gravity)와 웨이트(weight)를 사용하는 방법에 대해서 자세히 설명한다. 그래비티와 웨이트를 사용해서 안드로이드 기기 회전, 화면 크기와 모양의 차이를 다루는 방법에 대해서 알아보고 전략 패턴을 소개, 시연한다.
5장, 구조 패턴(Structural Pattern): 디자인 라이브러리에 대해 더 자세히 살펴보고, 리사이클러 뷰(recycler view)와 더불어 코디네이터 레이아웃이 관리하는 레이아웃을 만드는 방법을 살펴본다. 이 과정에서 어댑터 디자인 패턴을 분석해야 한다. 먼저 내부 버전을 작성한 다음 브리지 패턴(bridge pattern), 파사드(facade) 및 필터 패턴(filter patterns)은 물론 고유의 어댑터 디자인 패턴을 구축한다.
6장, 패턴 활성화(Activating Pattern): 앱에서 디자인 패턴을 직접 적용하는 방법을 보여준다. 콜랩 스 툴바(collapsing toolbar), 스크롤과 구분선(divider) 같은 디자인 라이브러리 기능을 더 많이 다룬다. 사용자 액티비티에 의해 트리거되는 사용자 정의 대화 상자를 생성한다. 팩토리 패턴을 다시 살펴보고, 빌더 패턴을 사용해서 UI를 만드는 방법을 살펴본다.
7장, 패턴 조합(Combining Pattern): 두 개의 새 구조 패턴인 프로토타입과 데코레이터(decorator) 패턴을 소개, 시연하고, 개별 패턴의 유연성에 대해서 살펴본다. 그런 다음 패턴을 사용해 스위치와 라디오 그룹 같은 다양한 복합 버튼으로 구성된 UI를 제어하면서 연습하게 된다.
8장, 컴포지트 패턴(Composing Pattern): 컴포지트 패턴에 집중해 여러 상황에서 컴포지트 패턴을 사용하는 방법과 올바른 상황을 선택하는 방법에 대해서 알아본다. 다음으로 중첩 UI를 보여주기 위한 실제 예제를 계속 사용한다. 이 예제에서는 영구 데이터의 저장과 검색을 살펴보고, 내부 저장소를 사용해 공유 환경변수(shared preference) 형태로 앱 파일과 사용자 설정을 사용하는 방법을 살펴보겠다.
9장, 옵저버 패턴(Observing Pattern): 한 활동에서 다른 활동으로의 전환에 관련된 시각적인 과정을 살펴보고, 이 과정이 단순한 데코레이션 이상의 방법이 되는지 알아본다. 독자는 전환(transitions)과 공유 요소(shared elements)를 적용해 모바일 기기의 최소 화면 공간을 효율적으로 사용하고, 앱 사용과 작업을 단순화하는 방법을 배울 것이다.
10장, 행위 패턴(Behavioral Pattern: 주요 행위 패턴인 템플릿(template), 전략(strategy), 비지터(visitor), 그리고 상태(state) 패턴에 집중한다. 그리고 개별 패턴의 동작 예제를 제공하고 패턴의 유연성과 사용법을 다룬다.
11장, 웨어러블 패턴(Wearable Pattern): 안드로이드 웨어(Android Wear), TV와 오토(Auto)의 작업을 보여주고, 차례대로 설정, 구성하는 방법을 설명한다. 안드로이드 웨어 앱과 핸드헬드(handheld)앱의 차이에 대해서도 살펴본다.
12장, 소셜 패턴(Social Pattern): 웹 기능과 소셜미디어를 추가하는 방법을 살펴본다. 먼저 웹뷰(WebView)와 내부 웹앱을 만드는데 웹뷰를 사용하는 방법을 살펴본다. 다음으로 앱을 페이스북에 연결하는 방법을 분석한다. 12장 마지막에 트위터와 같은 다른 소셜 플랫폼을 검토한다.
13장, 배포 패턴(Distribution Pattern): 안드로이드 앱 배포, 게시와 수익화에 대해서 살펴본다. 독자는 등록과 게시 과정을 거쳐 광고 옵션을 살펴보고, 어떤 목적에 가장 적합한지 확인한다. 마지막으로 배포의 몇 가지 팁과 트릭으로 잠재적인 사용자를 극대화하는 방법을 살펴보겠다.
목차
이 책의 효과
구현 예제
시나리오
문제점
해결 방안
플랫폼 버전 결정하기
지원 라이브러리
팩토리 패턴
UML 다이어그램
앱 실행과 테스트
실제 기기에 연결하기
가상 기기에 연결하기
기기 모니터링하기
추상 팩토리 패턴
여러 팩토리와 작업하기
요약
**2장. 생성 패턴**
테마 적용하기
색과 텍스트 사용자 정의
팔레트 사용하기
텍스트 사용자 정의
이미지 리소스 추가하기
화면 밀도 관리하기
리소스 지정해서 사용하기
카드뷰 만들기
카드뷰 속성 이해하기
카드뷰 메트릭스 적용하기
팩토리 패턴 개선하기
빌더 패턴 적용하기
요약
**3장. 머티리얼 패턴**
앱 바
이미지 에셋
액션 적용하기
앱 바 구조
폰
태블릿
내비게이션 드로어
드로어 생성
키라인 비율
드로어 활성화하기
프래그먼트 추가하기
오른쪽 드로어
싱글톤 패턴
요약
**4장. 레이아웃 패턴**
선형 레이아웃
가중치와 그래비티
상대 레이아웃
퍼센트 지원 라이브러리
화면 회전
큰 화면 레이아웃
너비 식별자
레이아웃 별칭
전략 패턴
요약
**5장. 구조 패턴**
목록 만들기
목록 항목 레이아웃
머티리얼 폰트 크기
데이터 연결하기
문자열 리소스 번역하기
어댑터와 레이아웃 매니저
어댑터 패턴
브리지 패턴
파사드 패턴
기준 패턴
요약
**6장. 패턴 활성화**
콜랩스 툴 바
데이터 팩토리 패턴 적용하기
항목 레이아웃 배치하기
리사이클러뷰와 팩토리 사용하기
구분선 추가하기
플로팅 액션 버튼 설정하기
대화 상자 빌더
사용자 정의 대화 상자
스와이프와 닫기 액션 추가하기
레이아웃 빌더 만들기
요약
**7장. 패턴 조합**
개요 명세
프로토타입 패턴
프로토타입 설정하기
프로토타입 적용하기
데코레이터 디자인 패턴
데코레이터 설정하기
데코레이터 적용하기
데코레이터 확장하기
샌드위치 빌더 패턴
패턴 적용하기
UI에 연결하기
패턴 선택하기
데코레이터 추가하기
패턴 붙이기
UI에 패턴 연결하기
요약
**8장. 컴포지트 패턴**
컴포지트 패턴
빌더 추가하기
레이아웃 컴포저
컴포넌트 추가하기
컴포지트 만들기
컴포지트 레이아웃 만들기
실행 중에 레이아웃 포매팅
저장소 옵션
정적 파일 만들기
앱 파일 만들고 수정하기
사용자 프리퍼런스 저장하기
액티비티 생명 주기
프리퍼런스 적용하기
고유 식별자 추가하기
요약
**9장. 옵저버 패턴**
옵저버 패턴
패턴 만들기
알림 추가하기
옵저버와 옵저버블 유틸리티
알림
인텐트 설정하기
알림 사용자 정의와 설정하기
가시성과 우선 순위
서비스
요약
**10장. 행위 패턴**
템플릿 패턴
템플릿 확장하기
전략 패턴
비지터 패턴
상태 패턴
요약
**11장. 웨어러블 패턴**
안드로이드 TV
TV 홈 화면
TV MVP 패턴
TV 앱 구조
추천 카드
안드로이드 웨어
웨어러블 기기와 연결하기
화면 모양 관리하기
웨어러블 알림
센서 읽기
안드로이드 오토
자동차 안전 고려 사항
오토 앱 설정하기
요약
**12장. 소셜 패턴**
웹 페이지 추가하기
링크 포함하기
WebSettings과 JavaScript 설정하기
웹뷰에 적합한 HTML 작성하기
페이스북 연결하기
페이스북 SDK 추가하기
페이스북 앱 ID 만들기
‘좋아요’ 뷰 추가하기
콘텐츠 빌더
트위터 통합하기
트윗 보내기
요약
**13장. 배포 패턴**
플랫폼 지원 범위 확장하기
앱 게시하기
서명된 APK 생성하기
개발자 등록하기
구글 플레이 스토어에 앱 게시하기
이메일과 웹사이트에 배포하기
앱 홍보하기와 수익 올리기
앱 홍보하기
앱으로 수익 올리기
인앱 결제
광고 포함하기
요약
도서 오류 신고
정오표
(역자님! 번역확인 부탁드립니다)
->
(삭제)