장바구니 담기 close

장바구니에 상품을 담았습니다.

안드로이드 비동기 프로그래밍

안드로이드 비동기 프로그래밍 멀티코어 프로세서를 이용한 반응형 앱 개발

  • 스티브 라일즈 지음 | 이문호 옮김
  • |
  • 에이콘출판
  • |
  • 2016-05-12 출간
  • |
  • 172페이지
  • |
  • 188 X 235 mm
  • |
  • ISBN 9788960778498
★★★★★ 평점(10/10) | 리뷰(1)
판매가

18,000원

즉시할인가

16,200

배송비

2,300원

(제주/도서산간 배송 추가비용:3,000원)

수량
+ -
총주문금액
16,200

※ 스프링제본 상품은 반품/교환/환불이 불가능하므로 신중하게 선택하여 주시기 바랍니다.

목차

1장. 반응형 안드로이드 애플리케이션 구축
달빅 가상 머신 소개
__메모리 공유와 자이고트
안드로이드 스레드 모델의 이
__메인 스레드
__반응하지 않는 앱과 ANR 대화상자
__반응성 유지
__안드로이드에서 동시성
____동시성 프로그램에서 정확성 이슈
____동시성 프로그램에서 활동성 이슈
____안드로이드 특정 동시성 이슈
__안드로이드 특정 동시성 생성자
요약

2장. AsyncTask로 반응성 유지
AsyncTask 소개
AsyncTask 타입 선언
AsyncTask 실행
사용자에게 피드백 제공
__진행 갱신 제공
AsyncTask 취소
예외 처리
동시성 수준 제어
흔한 AsyncTask 이슈
__단편화 이슈
__액티비티 생명주기 이슈
____이른 취소로 인한 생명주기 처리
____유지된 헤드리스 프래그먼트를 이용한 생명주기 처리
AsyncTask 응용
요약

3장. Handler와 HandlerThread를 이용한 작업 분산
루퍼의 이해
핸들러를 이용한 반응형 앱 구축
__post를 이용한 작업 스케줄링
____기다리는 Runnable 취소
__send를 이용한 작업 스케줄링
____기다리는 메시지 취소
____조합 대 상속
____멀티스레드 기반 예제
__메시지 전송 대 Runnable 게시
__HandlerThread를 이용한 반응형 앱 구축
핸들러 프로그래밍 이슈
__암시적 참조 누수
__명시적 참조 누수
핸들러와 HandlerThread 응용
요약

4장. Loader를 이용한 비동기 I/O
로더 도입
AsyncTaskLoader를 이용한 반응형 앱 구축
CursorLoader를 이용한 반응형 앱 구축
로더 조합
로더 응용
요약

5장. IntentService를 이용한 작업 큐 구현
서비스와 IntentService 도입
IntentService를 이용한 반응형 앱 구축
__결과 처리
____PendingIntent를 이용해 결과 반환
____결과를 시스템 통지로 사용
IntentService 응용
__IntentService를 이용한 HTTP 업로드
__진행 보고
요약

6장. Service를 이용한 오래 걸리는 작업 실행
서비스를 이용한 반응형 앱 구축
__Executor를 이용한 동시성 제어
__메신저로 결과 반환
서비스를 이용한 통신
__지역 서비스를 이용한 직접 통신
__인텐트를 이용한 결과 브로드캐스팅
__처리하지 못한 브로드캐스트 감지
서비스 응용
요약

7장. AlarmManager를 이용한 작업 스케줄링
AlarmManager를 이용한 알람 스케줄링
__알람 취소
__반복 알람 스케줄링
알람 처리
__알람을 액티비티와 함께 처리
__알람을 BroadcastReceiver와 함께 처리
____BroadcastReceive와 함께 작업하기
____goSync를 이용해 백그라운드 작업 수행
__알람을 서비스와 함께 처리
WakeLock을 이용해 계속 깨어있기
AlarmManager 응용
요약

도서소개

★ 이 책에서 다루는 내용 ★

■ 안드로이드 프로세스 모델의 개요와 애플리케이션에 대한 영향 이해
■ 안드로이드 플랫폼에서 무리 없이 잘 동작하는 안드로이드 애플리케이션 구축을 위한 멀티스레딩 활용법
■ 결과를 빠르게 전달하고 사용자 입력에 대한 애플리케이션의 반응을 유지하기 위한 동시성의 적용 및 제어
■ 더 쉽고 더 효율적인 비동기 프로그래밍을 지원하는 안드로이드에 특화된 생성자의 발견
■ 노련한 개발자조차 잡아낼 수 없는 일반적인 위험의 회피
■ 부드러우면서 반응성 있는 애플리케이션을 구축하기 위한 안드로이드 동시성 생성자의 적용 방법, 적용 이유, 적용 시점 등 학습

★ 이 책의 대상 독자 ★

이 책은 안드로이드의 기본을 숙달하고 나서 앱의 품질을 개선하려는, 즉 공학 품질 측면뿐만 아니라 다음 큰 단계로 차이점을 만들어내 최종 사용자가 실제로 인지할 수 있는 개선을 이끌 준비가 된 개발자를 위한 책이다.

따라서 이 책은 핵심적인 안드로이드 개발에 대한 합리적인 이해가 있다고 가정한다. 안드로이드 앱을 만든 경험이 있고 액티비티 클래스와 액티비티 생명주기, XML 레이아웃 파일, 안드로이드 매니페스트에 익숙하다면 이 책의 내용을 이해하는 데 아무런 문제가 없을 것이다.

자바의 동시성에 대한 기본 개념과 고수준 생성자에 친숙하면 내용을 좀 더 깊이 이해할 수 있지만, 필수 조건은 아니다.

동시성과 비동기 프로그래밍에 대한 사전 경험이 없는 안드로이드 개발자라면 반 응형 앱을 구축하기 위한 안드로이드 생성자를 언제, 어떻게, 왜 적용하는지 배울 것이다.
안드로이드를 새로 접하는 자바 전문가들은 안드로이드 개발 환경에서 자신들의 기존 지식을 적절히 활용하는 능력을 갖추게 될 것이며, 안드로이드의 고수준 동시 성 생성자와 관련된 익숙한 문제에 대해 명쾌한 해결책을 찾을 것이다.

★ 이 책의 구성 ★

1장, '반응형 안드로이드 애플리케이션 구축'에서는 안드로이드 프로세스 모델과 스레드 모델에 대한 개론을 제공하며, 안드로이드에 한정된 이슈를 논의하기 전에 일반적 인 동시성의 몇몇 과제와 장점을 기술한다.

2장, 'AsyncTask로 반응성 유지'에서는 안드로이드의 전형적인 동시성 프로그래밍을 다 룬다. AsyncTask의 기본적인 작업 방법과 올바른 사용법, 노련한 개발자를 곤란하 게 하는 일반적인 위험 요소를 피하는 방법 등을 배운다.

3장, 'Handler와 HandlerThread를 이용한 작업 분산'에서는 Handler, HandlerThread, Looper의 기본 개념과 주제에 관련된 세부사항을 다루며, 메인 스레드에서의 작업 스케줄링과 협업하는 백그라운드 스레드 간의 조정 및 통신에 사용할 수 있는 방법 을 보여준다.

4장, 'Loader를 이용한 비동기 I/0'에서는 로더Loader 프레임워크를 소개하며, 사용자 인 터페이스의 반응성을 유지하고 버벅거림으로부터 벗어나기 위해 비동기적으로 데 이터를 적재하는 작업의 중요성을 따진다.

5장, 'IntentService를 이용한 작업 큐 구현'에서는 단일 액티비티Activity 생명주기 범위에서 백그라운드 작업을 수행하고, 사용자가 애플리케이션을 떠났을지라도 작업이 완료 되는 것을 보장하기 위한 수단을 제공한다.

6장, 'Service를 이용한 오래 걸리는 작업 실행'에서는 IntentService로 찾았던 기능을 확장하며, 오래 걸리는 백그라운드 작업에 적용한 동시성 수준 제어를 제공한다.

7장, 'AlarmManager를 이용한 알람 스케줄링'에서는 반복 스케줄에서 먼 미래에 완료할 작업을 정리할 수 있게 하는 툴킷을 갖춘다. 이 툴킷은 새로운 내용을 사용자에게 알리고 새로 고친 데이터로 즉시 시작하는 애플리케이션을 구축 가능하게 한다.

★ 옮긴이의 말 ★

갓 입문한 개발자들은 시간이 지나면서 순차적인 프로그래밍 방식에 점차 익숙해 진다. 하지만 멀티스레드 프로그래밍은 어느 쪽으로 흐름이 이어질지 예상하기가 어렵고 코딩이 복잡해지는 데다가 디버깅도 만만치 않아 정신적인 부담이 상당히 크다. 따라서 초보 개발자들은 멀티스레드 프로그래밍을 시작하는 것을 주저할 수 도 있다. 이것은 어떠한 프로그래밍 언어에서도 마찬가지며, 안드로이드 개발도 예 외는 아니다. 하지만 여기서 분명히 말하고 싶은 것은 요즘과 같은 멀티코어 시대에 멀티스레드 프로그래밍은 어렵다고 해서 무작정 피할 수 있는 존재가 결코 아니라 는 사실이다. 오히려 멀티스레드 프로그래밍은 부드럽게 반응하는 안드로이드 앱을 만들 수 있게 적극적으로 돕는 좋은 ‘연인’이기에 일단 친해져보면 어떨까? 그래야 만 프로그래밍 실력이 늘어나고 더 멋진 앱을 만들 수 있을 것이다. 사실 멀티스레 드를 활용하는 것이 일반화된 지금의 개발 업계에서는 안드로이드라는 한정된 자 원을 활용하면서도 안정적인 앱을 만들어내는 것이 관건이다. 그만큼 안드로이드에 특화된 멀티스레드 프로그래밍을 비롯해 여러 가지 기법을 알아두는 것이 좋다.

이 책은 간결한 구성을 바탕으로 AsyncTask, Executor, Handler, Loader, IntentService 등 비동기 프로그래밍을 위한 주요 기법을 다룬다. 사실 이 책의 저 자가 하고 싶은 이야기는 스레드를 중시하되 백그라운드 스레드에서 작업을 수행 하는 생성자를 가능한 한 활용하자는 것이며, 그래야만 안정적이고 반응성 있는 앱 을 개발할 수 있고 또한 그 앱을 사용하는 사람에게 최고의 즐거움을 줄 수 있다는 것이다. 이와 같은 저자의 의도대로 독자가 이 책을 통해 안드로이드 비동기 프로그 래밍을 좀 더 쉽게 접할 수 있길 바란다.

이 책의 원서는 2013년에 출간됐고 지면상의 제약으로 인해 비동기 프로그래밍 기 법을 매우 깊이 다루지는 않으므로, 자세한 내용을 더 보고 싶다면 관련 내용을 다룬 책인 『Asynchronous Android Programming』(팩트출판사, 2016), 『Efficient Android Threading』(오라일리, 2014)을 참고하길 바란다

교환 및 환불안내

도서교환 및 환불
  • ㆍ배송기간은 평일 기준 1~3일 정도 소요됩니다.(스프링 분철은 1일 정도 시간이 더 소요됩니다.)
  • ㆍ상품불량 및 오배송등의 이유로 반품하실 경우, 반품배송비는 무료입니다.
  • ㆍ고객님의 변심에 의한 반품,환불,교환시 택배비는 본인 부담입니다.
  • ㆍ상담원과의 상담없이 교환 및 반품으로 반송된 물품은 책임지지 않습니다.
  • ㆍ이미 발송된 상품의 취소 및 반품, 교환요청시 배송비가 발생할 수 있습니다.
  • ㆍ반품신청시 반송된 상품의 수령후 환불처리됩니다.(카드사 사정에 따라 카드취소는 시일이 3~5일이 소요될 수 있습니다.)
  • ㆍ주문하신 상품의 반품,교환은 상품수령일로 부터 7일이내에 신청하실 수 있습니다.
  • ㆍ상품이 훼손된 경우 반품 및 교환,환불이 불가능합니다.
  • ㆍ반품/교환시 고객님 귀책사유로 인해 수거가 지연될 경우에는 반품이 제한될 수 있습니다.
  • ㆍ스프링제본 상품은 교환 및 환불이 불가능 합니다.
  • ㆍ군부대(사서함) 및 해외배송은 불가능합니다.
  • ㆍ오후 3시 이후 상담원과 통화되지 않은 취소건에 대해서는 고객 반품비용이 발생할 수 있습니다.
반품안내
  • 마이페이지 > 나의상담 > 1 : 1 문의하기 게시판 또는 고객센터 1800-7327
교환/반품주소
  • 경기도 파주시 문발로 211 1층 / (주)북채널 / 전화 : 1800-7327
  • 택배안내 : CJ대한통운(1588-1255)
  • 고객님 변심으로 인한 교환 또는 반품시 왕복 배송비 5,000원을 부담하셔야 하며, 제품 불량 또는 오 배송시에는 전액을 당사에서부담 합니다.