간편결제, 신용카드 청구할인
네이버페이 1%
(네이버페이 결제 시 적립)
NH(올원페이)카드 12% (14,260원)
(3만원 이상 결제/최대 1만원 할인)
북피니언 롯데카드 30% (11,340원)
(최대할인 3만원 / 3만원 이상 결제)
EBS 롯데카드 20% (12,960원)
(최대할인 3만원 / 3만원 이상 결제)
인터파크 NEW 우리V카드 10% (14,580원)
(최대할인 3만원 / 3만원 이상 결제)
인터파크 현대카드 7% (15,070원)
(최대할인 3만원 / 3만원 이상 결제)
Close

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

원제 : Asynchronous Android

2013년 9월 9일 이후 누적수치입니다.

판매지수 16
?
판매지수란?
사이트의 판매량에 기반하여 판매량 추이를 반영한 인터파크 도서에서의 독립적인 판매 지수입니다. 현재 가장 잘 팔리는 상품에 가중치를 두었기 때문에 실제 누적 판매량과는 다소 차이가 있을 수 있습니다. 판매량 외에도 다양한 가중치로 구성되어 최근의 이슈도서 확인시 유용할 수 있습니다. 해당 지수는 매일 갱신됩니다.
Close
공유하기
정가

18,000원

  • 16,200 (10%할인)

    900P (5%적립)

할인혜택
적립혜택자동적립
배송정보
주문수량
감소 증가
  • 이벤트/기획전

  • 연관도서(319)

  • 사은품(2)

책소개

멀티코어 프로세서를 이용한 반응형 앱 개발

이 책은 반응형 앱 개발을 위한 안드로이드 비동기 프로그래밍의 주요 기법을 다루며, 동시성 이슈 제기부터 시작해 AsyncTask로 반응성 유지, Handler를 이용한 작업 분산, Loader를 이용한 비동기 I/O, IntentService를 이용한 백그라운드 작업 수행, Service를 이용해 오래 걸리는 작업 실행, 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를 이용한 알람 스케줄링'에서는 반복 스케줄에서 먼 미래에 완료할 작업을 정리할 수 있게 하는 툴킷을 갖춘다. 이 툴킷은 새로운 내용을 사용자에게 알리고 새로 고친 데이터로 즉시 시작하는 애플리케이션을 구축 가능하게 한다.

목차

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 응용
요약

본문중에서

프로그래밍은 사람이 스스로 해볼 수 있는 일들 중에서도 매우 재미있는 편에 속한다. 이 점은 프로그래머에게 잘 알려져 있는 사실이지만, 그럼에도 불구하고 나머지 사람은 아직도 이해하기 어렵다. 이 사실을 알고 있거나 이 책을 읽지 않는다 해도 말이다. 많은 사람이 코드를 배움에 있어 스스로 몰두하지 않는 건 여전히 나를 놀 라게 한다.

그나저나 모바일 디바이스는 코더가 아닌 사람에게도 여전히 재미있는 컴퓨터로 만들어졌다. 우리는 주머니에 대단한 처리 능력을 지녔을 뿐 아니라 어지러운 다수 센서와 인터페이스를 탑재한 휴대형의 작은 기계를 넣고 다닌다.

안드로이드는 이런 재미있는 기계를 받아들이며, 프로그래머가 기가 막히게 잘 만 들어진 플랫폼과 툴 체인을 통해 개발과 진화를 위한 세월의 시험을 여전히 계속하 는 프로그래밍 언어로 이 기계에 접근할 수 있게 해준다.

잘 만들어진 플랫폼에서 강력한 언어로 세계적인 수준의 툴 체인과 함께 멋진 일을 하기 위해 재미있는 기계를 프로그래밍하는 것보다 더 나은 일은 과연 무엇일까? 저자에게 있어서는 좋은 앱과 훌륭한 앱 간의 차이를 만들어내는 요소에 대해 충분 한 이해를 가지고 작업하는 것이 그 정답이 될 수 있다.

훌륭한 앱을 만들기 위해서는 함께해야 하는 많은 요소가 있으며, 당신에게는 굉장 한 아이디어가 필요하다(저자는 이에 대해 도와줄 수 없다. 매력적인 사용자 인터페이스가 필요한 독자라면 미안하지만 이 책은 적합하지 않으며, 그런 독자에게는 훌륭한 사용자 경험 이 필요할 것이다). 아하! 지금은 조금 진전하는 중이다. 훌륭한 사용자 경험에 기여 하는 많은 것들 중에서도 반응성은 첫손에 꼽을 만하다.

콘텐츠를 보려고 스크롤하는 동안에 발생하는 중지와 버벅거림, 스토리지로부터 데 이터를 적재하는 동안에 얼어버린 사용자 인터페이스, 무슨 일이 일어나는지 알려 주는 진행 갱신을 제공하지 않는 애플리케이션, 시작했던 작업의 완료 실패, 네트워크로부터 데이터를 가져오는 동안에 스피너를 계속 쳐다보기 등, 이렇게 쭉 나열되 는 이런 결함 사례에 대한 반응성을 정의하기가 가장 쉽다.

이 책은 좋은 앱과 훌륭한 앱 간의 차이에 관한 내용을 다루는데, 버벅거림을 부드 럽게 하고, UI 반응성을 유지하고, 어떻게 돌아가는지 사용자에게 알려주고, 강력한 멀티코어 프로세서를 이용해 시작했던 무언가를 확실히 끝내도록 하고, 배터리 낭 비 없이 전부 처리하는 것 등이 해당된다. 재미있게 놀아보자!
(/ '지은이의 말' 중에서)

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

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

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

저자소개

스티브 릴리(Steve Liles) [저] 신작알림 SMS신청 작가DB보기
생년월일 -
출생지 -
출간도서 0종
판매수 0권

스스로를 '괴짜'라고 인정하며, G1 런칭 이후부터 안드로이드 팬이 됐다. 출판 시스 템과 뉴스 및 잡지용 앱을 구축하는 작업을 하지 않을 때에는 자작 앱을 어설프게 손보며, 때로는 3D 프린터로 무언가를 만들거나 RTS 게임을 즐기곤 한다. 현재는 안드로이드와 iOS 디바이스에서 컴퓨터 비전을 사용해 인쇄와 디지털 세계를 연결 하는 광고 시스템 구축 스타트업에서 근무한다.

생년월일 -
출생지 -
출간도서 0종
판매수 0권

관심 분야는 정보 검색이며, 매일 4시간 이상 걸리는 출퇴근 시간에 다방면의 원서를 읽는 쏠쏠한 즐거움에 빠져 사는 아날로그 세대다. 영상처리를 전공으로 석사를 마쳤고, 현재 문헌정보학 박사 과정에 있으며, 컴퓨터 비전 기반 IoT 솔루션 개발에 전념하고 있다. 오픈소스 자바 검색 엔진인 루씬(Lucene)에 관한 첫 국내서인 [루씬 인 액션](에이콘, 2005)을 공역했으며, 오픈소스 영상처리 라이브러리를 다룬 오픈소스 라이브러리 실무 시리즈 도서를 펴낸 저자로도 잘 알려져 있다. [MATLAB을 활용한 실용 디지털 영상처리](홍릉과학, 2005), [오픈소스 OpenCV를

펼쳐보기

이 상품의 시리즈

acorn+PACKT 시리즈(총 351권 / 현재구매 가능도서 320권)

펼쳐보기

이 책과 내용이 비슷한 책 ? 내용 유사도란? 이 도서가 가진 내용을 분석하여 기준 도서와 얼마나 많이 유사한 콘텐츠를 많이 가지고 있는가에 대한 비율입니다.

    리뷰

    0.0 (총 0건)

    기대평

    작성시 유의사항

    평점
    0/200자
    등록하기

    기대평

    0.0

    교환/환불

    교환/환불 방법

    ‘마이페이지 > 취소/반품/교환/환불’ 에서 신청함, 1:1 문의 게시판 또는 고객센터(1577-2555) 이용 가능

    교환/환불 가능 기간

    고객변심은 출고완료 다음날부터 14일 까지만 교환/환불이 가능함

    교환/환불 비용

    고객변심 또는 구매착오의 경우에만 2,500원 택배비를 고객님이 부담함

    교환/환불 불가사유

    반품접수 없이 반송하거나, 우편으로 보낼 경우 상품 확인이 어려워 환불이 불가할 수 있음
    배송된 상품의 분실, 상품포장이 훼손된 경우, 비닐랩핑된 상품의 비닐 개봉시 교환/반품이 불가능함

    소비자 피해보상

    소비자 피해보상의 분쟁처리 등에 관한 사항은 소비자분쟁해결기준(공정거래위원회 고시)에 따라 비해 보상 받을 수 있음
    교환/반품/보증조건 및 품질보증 기준은 소비자기본법에 따른 소비자 분쟁 해결 기준에 따라 피해를 보상 받을 수 있음

    기타

    도매상 및 제작사 사정에 따라 품절/절판 등의 사유로 주문이 취소될 수 있음(이 경우 인터파크도서에서 고객님께 별도로 연락하여 고지함)

    배송안내

    • 인터파크 도서 상품은 택배로 배송되며, 출고완료 1~2일내 상품을 받아 보실 수 있습니다

    • 출고가능 시간이 서로 다른 상품을 함께 주문할 경우 출고가능 시간이 가장 긴 상품을 기준으로 배송됩니다.

    • 군부대, 교도소 등 특정기관은 우체국 택배만 배송가능하여, 인터파크 외 타업체 배송상품인 경우 발송되지 않을 수 있습니다.

    • 배송비

    도서(중고도서 포함) 구매

    2,000원 (1만원이상 구매 시 무료배송)

    음반/DVD/잡지/만화 구매

    2,000원 (2만원이상 구매 시 무료배송)

    도서와 음반/DVD/잡지/만화/
    중고직배송상품을 함께 구매

    2,000원 (1만원이상 구매 시 무료배송)

    업체직접배송상품 구매

    업체별 상이한 배송비 적용