Top

안드로이드 웨어 애플리케이션 개발 [안드로이드 웨어 앱 개발 기초부터 테스트, 배포까지]

  • 원서명Mastering Android Wear Application Development: Master the future of mobile devices in wearable technology (ISBN 9781785881725)
  • 지은이시디크 하메드(Siddique Hameed), 자비드 치다(Javeed Chida)
  • 옮긴이안세원, 이별임
  • ISBN : 9791161750606
  • 24,000원
  • 2017년 09월 27일 펴냄
  • 페이퍼백 | 248쪽 | 188*235mm
  • 시리즈 : acorn+PACKT

책 소개

소스 코드 파일은 여기에서 내려 받으실 수 있습니다.

본문에 쓰인 컬러 이미지는 여기에서 내려 받으세요.
요약

안드로이드 웨어 앱의 전체 개발 과정을 다양한 예제를 곁들여 설명한다. 독자는 예제 프로젝트를 함께 만들어보면서 개발 환경 설정 방법부터 플레이 스토어 배포 방법에 이르는 다양한 지식을 익힐 수 있다. 또한 웨어 디바이스에 특화된 화면, 알림, 웨어 디바이스에 탑재된 다양한 센서 활용 방법도 배울 수 있다. 웨어 앱에 관심이 있는 모바일, 데스크톱, 웹 플랫폼 개발자 모두를 대상으로 하며, 성공적인 안드로이드 웨어 앱을 개발하는 데 도움을 주는 개발 지침서다.

이 책의 대상 독자

안드로이드 웨어 플랫폼을 익히고, 안드로이드 웨어용 앱을 개발하는 데 필요한 지식을 쌓고 싶은 웹, 데스크톱, 모바일 자바 애플리케이션 개발자를 대상으로 한다.

이 책의 구성

1장, ‘웨어러블 컴퓨팅 개요’에서는 웨어러블 컴퓨팅의 기본 내용과 함께 기술이 어떻게 발전해왔는지 설명한다. 또한 모바일 컴퓨팅, 유비쿼터스 컴퓨팅, 클라우드 컴퓨팅도 알아본다.
2장, ‘개발 환경 설정’에서는 개발 환경 설정에 익숙해질 수 있도록 IDE 설치와 안드로이드 웨어 개발에 필요한 SDK와 라이브러리 설치 방법을 다룬다.
3장, ‘안드로이드 웨어 애플리케이션 개발’에서는 안드로이드 스튜디오를 이용해 Today라는 안드로이드 웨어 애플리케이션을 단계별로 개발해본다.
4장, ‘워치 UI 개발’에서는 안드로이드 웨어 SDK가 제공하는 UI 컴포넌트를 이용해 Today 앱을 개선해본다. 또한 커스텀 레이아웃을 이용해 커스텀 UI를 만들어본다.
5장, ‘데이터 동기화’에서는 동반 핸드헬드 앱의 개념을 소개하고, 안드로이드 웨어 에뮬레이터와 핸드헬드 기기를 페어링해서 웨어러블 앱 개발 환경을 확장하는 방법을 알아본다. 이어서 Today 앱의 기능을 확장해 동반 앱 개념을 실습한다.
6장, ‘상황 인식 알림’에서는 안드로이드 웨어의 알림에 대해 알아보고, Today 앱의 OnThisDay 액티비티에 안드로이드 웨어 알림 API를 활용해본다.
7장, ‘음성 인터랙션, 센서, 데이터 추적’에서는 웨어 API가 제공하는 음성 관련 기능을 알아본다. 앱을 실행하는 음성 액션을 만들어보고, 디바이스의 센서를 이용해 데이터를 추적하는 방법을 알아본다.
8장, ‘커스텀 UI 만들기’에서는 안드로이드 웨어 UI의 근간을 이루는 디자인 원칙을 알아보고, 일반적인 웨어 UI 패턴을 살펴본다. 그리고 좀 더 사용자 친화적인 형태를 띠도록 OnThisDay 액티비티를 수정해본다.
9장, ‘머티리얼 디자인’에서는 머티리얼 디자인을 개념적으로 이해해보고, 웨어러블 앱의 디자인과 개발 관점에서 중요한 원칙들을 살펴본다. 이전 장에서 만들었던 Todo 앱에 할 일의 유형을 변경할 수 있도록 내비게이션 드로어를 추가해본다. 또한 각 유형에 따라 할 일 항목의 표시, 액션을 바꿔볼 수 있게 개선하면서 9장에서 다뤘던 내용을 실습해본다.
10장, ‘워치페이스’에서는 워치페이스의 개념을 소개한다. 워치페이스 개발에 관련된 안드로이드 웨어 API를 살펴보고, 간단한 대화형 워치페이스를 만들어본다.
11장, ‘심화 기능’에서는 항상 표시 상태로 동작하는 앱을 만드는 데 필요한 디자인 고려사항과 API를 알아본다. 웨어 API가 제공하는 기능을 이용해 항상 표시 상태의 액티비티를 직접 만들어본다. 또한 블루투스 연결 상태에서 웨어 앱을 디버깅하는 방법을알아본다.
12장, ‘구글 플레이에 출시’에선 안드로이드 웨어 앱을 테스트하는 데 사용할 수 있는 도구와 UI 자동화 테스트 방법을 알아본다. 다음으로 단계별로 앱을 출시하는 방법을 알아본다.

저자/역자 소개

지은이의 말

이 책의 목표는 독자에게 잘 설계되고 견고한 안드로이드 웨어 애플리케이션 개발의 바탕이 되는 철학, 생각의 절차, 개발 상세, 방법론을 전달하는 데 있다. 웨어러블 컴퓨팅의 장단점을 알아보고, 이를 통해 실용적이며 실생활에 사용할 수 있는 웨어러블 앱을 만들기 위한 탄탄한 기초를 제공할 수 있길 바란다.

지은이 소개

시디크 하메드(Siddique Hameed)

마스터카드(MasterCard)의 결제 게이트웨이 플랫폼인 심플리파이 커머스(Simplify Commerce)(https://simplify.com)에 근무하는 실용적 공학자로, 포천(Fortune) 500에 선정된 대기업에서 스타트업에 이르는 다양한 규모의 회사에서 근무하면서 금융, 인터넷 상거래, 소셜미디어, 통신, 생체 정보, 출판, 보험 등 다양한 업무용 소프트웨어를 개발해왔다.
기술과 소프트웨어가 일상생활에 미치는 영향에 관심이 많은 그는 오픈소스 소프트웨어 문화의 신봉자며, 다양한 오픈소스 프로젝트에도 적극적으로 기여하고 있다.
때때로 기술 이벤트나 모임의 강연자를 맡고 있으며, 해카톤(hackathon)의 멘토 역할을 맡기도 한다. 또한 어린이와 성인에게 프로그래밍, 기술, 소프트웨어 개발을 가르치는 것을 좋아하며 Girls Who Code, Code.org, STEM science, technology, engineering, and mathematics 등의 코딩 행사에 자원봉사자로 참여하기도 한다.
여가 시간엔 장거리 여행을 떠나거나, 라즈베리 파이(Raspberry Pi)나 DIY 가젯을 만들기도 한다.

자비드 치다(Javeed Chida)

글로벌 교육 분야의 리더인 아폴로 에듀케이션 그룹(Apollo Education Group)에서 시니어 소프트웨어 엔지니어로 일하고 있다. 교육, 금융, 의학, 보험, 건설, 법조계 등 다양한 기업에서 사용하는 여러 계층으로 구성된 기업용 애플리케이션을 수년간 개발해왔다.
자바 포털, 그 중에서도 라이프레이(Liferay) 포털 플랫폼에 관심이 많다. 또한 재치 있고 혁신적으로 작성된 기술 문서를 좋아한다. 라이프레이닷컴(Liferay.com)의 주요 커뮤티니 블로거로서 정기적으로 포스팅을 하고 있으며, 여가 시간에는 고전 시와 소설을 창작하곤 한다.

옮긴이의 말

핸드폰은 물론 시계부터 텔레비전와 자동차에 이르는 다양한 형태의 디바이스에서 구동될 수 있다는 점이 안드로이드의 매력 중 하나다. 이 중에서도 시계 형태의 안드로이드 워치 디바이스가 아마도 개발자가 가장 쉽게 접할 수 있는 디바이스일 것이다. 여러 제조사에서는 사용자의 요구에 맞춰 다양한 형태와 기능을 갖춘 안드로이드 워치 디바이스를 만들고 있다. 비록 안드로이드 워치가 생각만큼 많이 활성화되진 않았지만, 모바일 앱만 개발하던 안드로이드 개발자에겐 매력적인 도전의 기회라고 생각한다. 또한 2017년 상반기에 안드로이드 웨어 2.0이 발표되면서 웨어 개발 커뮤니티는 다시금 활기를 띠고 있다. 따라서 아직까지 안드로이드 웨어 앱을 만들어보지 않은 개발자라면 이제는 한번 개발해 보는 것도 좋지 않을까 생각한다.
안드로이드 앱 개발에 어느 정도 익숙한 개발자라도 안드로이드 웨어 앱은 전혀 다른 특성을 가진 디바이스에서 동작해야 하기 때문에 알아야 할 내용이 많다. 이 중에는 작은 배터리 용량, 작은 화면, 처리 능력의 제약 등 개발자를 괴롭히는 부분도 있지만, 심박센서나 워치페이스 등 웨어만이 제공할 수 있는 개발자의 상상력을 자극할 만한 기능들도 있다. 이 책을 통해 웨어러블 디바이스의 개념에서 시작해서 워치 디바이스에 최적화된 안드로이드 워치 앱을 개발하는 데 필요한 전반적인 지식을 습득할 수 있을 것이다.
안드로이드 웨어 앱을 만들어 마켓에 출시하는 데 이 책이 조금이나마 도움이 되길 바라며, 거창하게 출시까지 하지 않더라도 내 손목에서 동작하는 앱을 만들어 보는 짜릿함과 재미를 느껴보길 바란다.

옮긴이 소개

안세원

웹 애플리케이션 개발자, 소프트웨어 공학 컨설턴트를 거쳐 지금은 안드로이드 개발자로 일하고 있다. 끝내주는 안드로이드 앱을 만들어보려고 고군분투 중이다. 번역서로 『서블릿 & JSP 자바 웹 프로그래밍 완성(에이콘, 2012), 『알짜만 골라 배우는 자바 구글앱엔진』(에이콘, 2010) 등이 있다.

이별임

시스템 엔지니어로 시작해 웹 애플리케이션 개발자를 거쳐 안드로이드 앱 개발자로 일하고 있다. 서비스 기획에도 관심이 많으며 늦게 시작한 안드로이드 개발 재미에 빠져 있다.

목차

목차
  • 1장. 웨어러블 컴퓨팅 개요
    • 기술의 발달
    • 무어의 법칙
    • 유비쿼터스 컴퓨팅
    • 모바일와 웨어러블의 조합
    • 안드로이드 웨어 소개
    • 요약

  • 2장. 개발 환경 설정
    • 안드로이드 스튜디오
    • 설치
    • 깃과 깃허브
    • 그레이들
    • 안드로이드 SDK 패키지
    • 안드로이드 가상 디바이스
    • 골격 애플리케이션 만들기
    • 요약

  • 3장. 안드로이드 웨어 애플리케이션 개발
    • 골격 앱
    • 안드로이드 매니페스트 파일
    • 그레이들 빌드 파일
    • 앱 액티비티
    • 안드로이드 웨어 앱 빌드
    • 요약

  • 4장. 워치 UI 개발
    • 웨어러블 UI
    • 안드로이드 매니페스트 파일
    • TodayActivity 액티비티
      • arrays.xml 파일 내부의 액션
    • 메인 액티비티 레이아웃 파일
    • WearableListItemLayout 컴포넌트
    • DayOfYearActivity 클래스
      • activitydayof_year.xml 파일
    • 요약

  • 5장 데이터 동기화
    • 동반 앱의 정의
    • 안드로이드 웨어 가상 디바이스 설정
    • Today 앱 돌아보기
      • Today 앱의 새로운 기능
      • 웨어러블 데이터 계층 API
        • MessageApi
        • WearableListenerService
        • DataListener
        • 클라우드 노드
      • GoogleApiClient 클래스
      • Volley 라이브러리
      • JSoup 라이브러리
      • 빌드 스크립트
      • 동반 앱의 안드로이드 매니페스트 파일
      • TodayMobileActivity 클래스
      • 웨어러블 앱의 안드로이드 매니페스트 파일
      • OnThisDayActivity 클래스
      • HandheldListenerService 클래스
    • 웨어 앱에 메시지가 전달되지 않을 경우
    • 요약

  • 6장. 상황 인식 알림
    • 알림 받기
      • 알림 API의 주요 클래스
        • NotificationCompat.Builder
        • 알림의 작업 버튼
        • 웨어러블만의 작업
        • 전달
    • 할 일 알림이 포함된 Today 앱
      • 지오펜싱
      • 모의 GPS
      • 웨어와 모바일 앱의 build.gradle 파일
      • 핸드헬드 앱의 AndroidManifest 파일
  • TodoMobileActivity 클래스
    • 할 일 목록 보기
    • 할 일 항목 추가하기
      • 모의 위치
      • FakeGPS 앱으로 모의 위치 설정하기
      • GeoFenceTransitionIntentService 클래스
      • 핸드헬드 앱 알림
      • 웨어러블 앱 알림
    • 요약

  • 7장. 음성 인터랙션, 센서, 데이터 추적
    • 음성 기능
      • 시스템 제공 음성 액션
      • 앱 제공 음성 액션
    • 음성 명령으로 할 일 항목 추가하기
      • 웨어러블 앱에 할 일 항목 추가하기 액션 추가
    • 웨어러블 앱의 TodayActivity
    • 음성 입력 처리
    • 핸드헬드 앱
    • 동작 센서
      • 자이로스코프
      • 가속도계
    • 걸음 수 측정 기능 추가
      • 웨어러블 앱에 할 일 항목 등록 기능 추가
    • 요약

  • 8장. 커스텀 UI 만들기
    • 안드로이드 웨어 UI 디자인
    • 일반적인 UI 패턴
      • 카드
        • 카운트다운과 확인
        • 카드 스택
        • 2D 피커
      • 선택 리스트
    • OnThisDay 액티비티 다시보기
      • OnThisDayActivity 액티비티
      • 액티비티 레이아웃
    • 요약

  • 9장. 머티리얼 디자인
    • 머티리얼 디자인 알아보기
      • 세상과의 상호작용
      • 시각적 언어
    • 할 일 항목 메뉴
      • 내비게이션 드로어
      • TodosActivity 클래스
      • TodoItemTypeFragment 클래스
      • NavigationAdapter 클래스
      • 내비게이션 항목
      • WearableDrawerLayout 클래스
      • 메뉴 아이템
      • 메뉴 리스너
      • 할 일 유형 변경
    • 요약

  • 10장. 워치페이스
    • 시각 알려주기
      • 워치페이스란?
      • 디자인 고려사항
      • 구현 고려사항
      • 워치페이스 서비스
      • 상호작용하는 워치페이스
      • 성능 고려사항
    • 워치페이스 만들기
      • 안드로이드 매니페스트 파일
    • TodayWatchFace 서비스
    • TodayWatchFaceService 클래스
    • onTimeTick 메소드
    • 워치페이스 그리기
    • 대기 모드
    • 워치페이스 커스터마이징
      • WatchFaceConfigActivity 클래스
    • 요약

  • 11장. 심화 기능
    • 워치를 계속 켜두기
      • 항상 표시 상태 앱 만들기
    • 항상 실행 중인 걸음 수 측정기
      • 안드로이드 매니페스트 파일
        • StepCounterActivity 클래스
    • 웨어러블 앱 디버깅
      • 디바이스 설정
        • USB로 핸드헬드 앱 디버깅하기
        • 블루투스로 웨어러블 앱 디버깅하기
        • 핸드헬드 앱에서 세션 설정하기
    • 안드로이드 웨어 2.0 살펴보기
      • 워치페이스 계기판
      • 내비게이션과 액션 드로어
      • 확장 알림과 메시징 스타일 알림
      • 입력 방식 프레임워크
      • 원격 입력과 스마트 답장
      • 손목 제스처
      • 브리지 모드
      • 독립 실행형 웨어러블
    • 요약

  • 12장. 구글 플레이에 출시
    • 테스트
      • 테스트의 필요성
      • 단위 테스트의 종류
      • UI 테스트 자동화
      • 테스트 API
        • JUnit
        • AndroidJUnitRunner 클래스
        • 에스프레소
        • UI 오토메이터
        • 몽키와 몽키러너
      • 수동 테스트
    • 앱 배포
      • 패키징
      • 퍼블리싱과 옵트인

도서 오류 신고

도서 오류 신고

에이콘출판사에 관심을 가져 주셔서 고맙습니다. 도서의 오탈자 정보를 알려주시면 다음 개정판 인쇄 시 반영하겠습니다.

오탈자 정보는 다음과 같이 입력해 주시면 됩니다.

(예시) p.100 아래에서 3행 : '몇일'동안 -> 며칠동안