간편결제, 신용카드 청구할인
인터파크 롯데카드 5% (25,650원)
(최대할인 10만원 / 전월실적 40만원)
북피니언 롯데카드 30% (18,900원)
(최대할인 3만원 / 3만원 이상 결제)
NH쇼핑&인터파크카드 20% (21,600원)
(최대할인 4만원 / 2만원 이상 결제)
Close

리액티브 안드로이드 프로그래밍 : RxJava로 애플리케이션 제작하기

원제 : Reactive Android Programming
소득공제

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

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

30,000원

  • 27,000 (10%할인)

    1,500P (5%적립)

할인혜택
적립혜택
  • I-Point 적립은 마이페이지에서 직접 구매확정하신 경우만 적립 됩니다.
추가혜택
배송정보
  • 12/2(금) 이내 발송 예정  (서울시 강남구 삼성로 512)
  • 무료배송
주문수량
감소 증가
  • 이벤트/기획전

  • 연관도서

  • 상품권

AD

책소개

▶ 리액티브 안드로이드 프로그래밍에 관한 내용을 담은 전문서적입니다.

출판사 서평

★ 요약 ★

RxJava가 제공하는 다양한 도구를 초보 개발자에게 소개하며, 비동기 작업을 위한 강력하고 고품질의 코드를 만들 수 있도록 한다. 고품질의 제품을 만들기 위해 고급 RxJava 기술을 사용하여 비교적 간단한 애플리케이션을 예제로 만들면서 배울 수 있다.

★ 이 책에서 다루는 내용 ★

■ 비동기적인 리액티브 안드로이드 프로그래밍을 위한 환경 설정 방법
■ 커스텀 옵저버블 작성법과 고차원 추상화
■ 리액티브 프로그래밍 원칙을 사용한 여러 호출의 조율
■ RxJava를 사용해 원격 주식 데이터 가져오기
■ 트위터 스트림을 정상적으로 통합하고 처리하기
■ 리액티브 프로그래밍을 활용해 대화형이자 반응형인 안드로이드 앱 개발
■ 선택한 회사의 심볼을 기반으로 실시간으로 주식 정보를 추적할 수 있는 애플리케이션 제작
■ 해당 회사의 트위터로부터 업데이트 통합

★ 이 책의 대상 독자 ★

전문가일 필요는 없지만, 안드로이드에 익숙하고 이벤트 처리와 비동기 작업, 병렬 처리 코드의 품질을 향상하고자 하는 개발자를 대상으로 한다.

★ 이 책의 구성 ★

1장, ‘첫 “Hello World” RxJava 애플리케이션 만들기’에서는 RxJava의 초기 설정에 대해 간단히 다룰것이다. 아주 간단할지라도 리액티브 방식의 첫 번째 “Hello World” 메시지를 생성하는 데 사용한다. 이를 위해 RxJava 의존성과 레트로람다(Retrolambda)를 설정해 애플리케이션이 Java 8에서 람다lambda를 지원하도록 한다.
2장, ‘기본 RxJava의 이해’에서는 RxJava의 핵심 요소를 설명한다. 옵저버블, 구독자(Subscriber), 플로어블(Flowable) 등이 무엇인지 배운다. 이 기본 빌딩 블록은 이 책에서 광범위하게 사용한다.
3장, ‘주식 데이터를 가져오면서 레트로핏 사용법 배우기’에서는 인터넷 연결에 의존하지 않는 현대애플리케이션은 거의 없음을 이해한다. 가장 인기 있는 레트로핏 라이브러리를 사용해 HTTP 요청을 수행하는 방법과 데이터 처리의 기본 원리를 학습한다. 이 모든 작업은 원격 주식 시세 데이터를 가져와 UI에 표시하는 동안 수행한다.
4장, ‘RxJava 1.0과 RxJava 2.0의 통합’에서는 RxJava 2.0이 최근에 나온 것과 많은 라이브러리가 아직 RxJava 1.0에서만 사용할 수 있음을 설명한다. 여기서는 서로 다른 버전의 RxJava 연결 방법을 배운다.
5장, ‘SQLite에 데이터 쓰기와 스케줄러’에서는 데이터 저장에 가장 많이 사용되는 SQLite 데이터베이스를 이야기한다. RxJava를 사용하면 StorIO와 같은 라이브러리를 사용해 상호작용을 리액티브로 만들 수 있다. 추가로 개발자가 실제 계산이 실행되는 위치를 변경할 수 있도록 스케줄러를 다룬다.
6장, ‘오류 처리와 SQLite 데이터 읽기’에서는 코드를 작성하는 동안 가장 중요한 측면 중 하나인 오류 처리를 설명한다. RxJava에서 오류 처리를 수행하는 다양한 방법을 배운다. 또한 StorIO를 사용해 이전에 SQLite에 저장된 주식 데이터 읽는 법을 배운다.
7장, ‘RxJava와 액티비티 생명 주기 통합’에서는 안드로이드와 RxJava의 매우 중요한 측면인 리소스 부족에 대해 배울 것이다. 여기서 액티비티 생명 주기를 자세히 살펴보고 생명 주기(Activity Lifecycle) 메소드를 RxJava에 연결할 방법을 모색해 메모리와 스레드 누수 방지법을 학습한다.
8장. ‘커스텀 옵저버블 작성’에서는 커스텀 옵저버블 생성을 살펴본다. 트위터 업데이트의 끝없는 스트림을 소비하기 위해 커스텀 옵저버블을 만들어 이 작업을 수행한다. 이러한 업데이트는 기존 주식 시세 데이터 흐름에 통합돼 UI에 표시된다.
9장, ‘고급 옵저버블 흐름’에서는 RxJava에서 사용할 수 있는 여러 연산을 학습한다. .zip()과 .flatMap() 연산자의 작동 방식과 사용 방법을 알아본다. 또한 .groupBy() 및 .switchMap()과 같은 고급 연산자도 살펴볼 것이다.
10장, ‘고차원 추상화’에서는 코드가 쉽게 복잡해지기 때문에 리팩토링에 익숙해져서 코드를 단순화하고 불필요한 세부 사항을 추상화하는 데 매우 유용하도록 설명한다. 여기서 메소드 추출과 정적 메소드 팩토리, 기타 방법을 통해 고차원 추상화 달성에 도움되는 방법을 학습한다.
11장, ‘서브젝트의 기본과 환경 설정’에서는 저장 데이터 프로듀서(producer)와 컨슈머(consumer)처럼 동작하는 편리한 도구로 서브젝트(subject)를 다룬다. 서브젝트가 어떻게 작동하는지 배우게 될 것이고, 다른 유형의 서브젝트를 다룰 것이다. 11장 이후로 다양한 서브젝트 유형을 사용할 수 있고 어떤 사례가 적합한지 알 수 있다.
12장, ‘구슬 다이어그램 읽는 법’에서는 구슬 다이어그램의 예를 탐구하고 설명한다. 거의 모든 작업이 구슬 다이어그램으로 설명되므로 구슬 다이어그램과 이를 읽는 방법에 대한 지식은 RxJava 공식 문서를 읽으려 할 때 특히 유용할 것이다.

★ 옮긴이의 말 ★

안드로이드 개발은 예전보다 참고할 도서와 자료가 많다. 그만큼 대중화됐고 개발자 누구나 개발하기 쉬워졌다는 의미다. 그럼에도 불구하고 안드로이드 개발은 여전히 매력적인 분야이며 파급력이 강하기도 하다. 하지만 많은 소스가 초창기 안드로이드 코드를 기준으로 설명하고 있어 코드의 낭비나 효율성이 떨어지는 제품들이 존재한다. 안드로이드 기기와 모바일 환경이 다양화되면서 이미 검증된 오픈소스를 활용하거나 리액티브 같은 신기술을 활용하는 것이 개발을 더 빠르고 정확하게 할 수 있는 방법이 될 수 있다. 이 책에서는 간단한 예제를 따라 하면서 리액티브 프로그래밍을 익힐 수 있게 도와주고 있다 .
원서에서는 일부 예제에서 야후(Yahoo)의 API를 활용해 정보를 받아오도록 설명하고 있다. 하지만 현재 야후의 사정으로 해당 API 서비스는 종료됐다. 전체적인 이해의 흐름을 돕기 위해 해당 부분을 삭제하지 않고 그대로 번역했다. 걱정할 필요는 없다. 이 책의 학습 목적은 API 호출이 아닌 리액티브 안드로이드 프로그래밍이기 때문이다. 대부분의 API 호출 방식은 유사하며, 해당 개발자 사이트를 참고하면 쉽게 따라 할 수 있다. 수많은 API 제공 업체들은 야후와 같이 없어지기도 하고 호출 방식이 바뀌기도 한다는 점을 이해하고 제품의 유지 보수 관점에 대해서도 고민해보길 바란다.

목차

지은이 소개
기술 감수자 소개
옮긴이 소개
옮긴이의 말
들어가며

1장. 첫 “Hello World” RxJava 애플리케이션 만들기
__애플리케이션 생성
____디펜던시
____최초의 사용자 인터페이스
____레트로람다 사용
__요약

2장. 기본 RxJava의 이해
__옵저버블
____핫 그리고 콜드 옵저버블
__디스포저블
__스케줄러
____스케줄링 예제
__옵저버블의 흐름 조사
__플로어블
____아이템 버리기
____마지막 아이템 유지하기
____버퍼링
__컴플리터블, 싱글, 메이비 타입
____컴플리터블
____싱글
____메이비
__요약

3장. 주식 데이터를 가져오면서 레트로핏 사용법 배우기
__레트로핏 설정
__HTTP 요청
____서비스 인터페이스
____서비스 팩토리
____서비스 생성
__요청 데이터 변환
____JSON 분석
____데이터 불러오기
____JSON 값 객체 변환
__UI에 데이터 표현하기
__주기적인 업데이트
__UI에서 여러 레코드 처리
__요약

4장. RxJava 1.0을 RxJava 2.0과 통합하기
__버전 간 차이점
____디펜던시 및 패키지 이름
____함수형 인터페이스
____플로어블
__다른 RxJava 버전 통합
____설정
____RxJava 1.0 옵저버블 변환
__요약

5장. SQLite와 스케줄러에 데이터 작성하기
__스케줄러
____스케줄러 타입
____스케줄러 사용
____병렬 처리 달성
__StorIO를 이용한 데이터 입력
____StorIO 설정
____StorIO 구성
____데이터 저장 흐름
__요약

6장. 에러 핸들링과 SQLite 데이터 읽기
__RxJava의 예외 처리
____subscribe() 사용
____onExceptionResumeNext() 사용
____doOnError() 사용
____기타 오류 처리 방법
____안드로이드 UI의 오류 표시
____중앙 집중식 에러 로깅
__StorIO로 SQLite 데이터 읽기
____리졸버 얻기
____StockUpdate 항목에 대한 오프라인 대체
____사용자에게 오류에 대해 알리기
____누락된 삭제 리졸버
__요약

7장. RxJava와 액티비티 생명 주기의 통합
__안드로이드 생명 주기
____생명 주기 검토
____액티비티 설정
____onCreate() 호출에 대해 알아야 할 사항
__리소스 누수
____메모리 누수
____옵저버블 누수
__구독 정리
____디스포저블 사용
__RxLifecycle 라이브러리 활용

8장. 커스텀 옵저버블 작성
__커스텀 옵저버블을 만드는 방법
____표준 Java API와의 통합
____이미터 API와 통합
__리액티브 방식으로 주식에 대한 트윗 읽기
____설정
____트위터를 위한 커스텀 옵저버블
____UI에 트윗 표시
____값 객체 업데이트
____레이아웃 업데이트
____기타 개선 사항
__요약

9장. 고급 옵저버블 흐름 설명
__옵저버블 벗기기
____맵을 이용해 값 변환하기
____FlatMap 옵저버블
__값 전달
____튜플
__커스텀 클래스
__업데이트된 흐름
__아이템 결합
____ZIP
____최신 항목 결합
____스트림 연결하기
__필터링
____주식 어댑터 청소
____트윗 필터링
__요약

10장. 고차원 추상화
__메소드로 코드 추출
____조건을 명시적으로 만들기
____컨슈머 추출
____FlatMap 추출
____팩토리 메소드의 작성
__변환 사용하기
____정규 코드 추출
____변환으로 코드 단순화
____변환 클래스 생성
____파일 기반 캐싱 예제
____변환을 사용해 실행 시간 추적하기
____옵저버블을 디버깅하기 위해 변환 사용하기
__요약

11장. 서브젝트의 기본과 환경 설정 저장
__서브젝트
____PublishSubject
____BehaviorSubject
____ReplaySubject
____AsyncSubject
__애플리케이션에서 서브젝트 사용
____RxPreferences 사용
____설정에 서브젝트 연결
____설정 액티비티 생성
____흐름 업데이트
__요약

12장. 구슬 다이어그램 읽는 법
__구슬 다이어그램의 핵심 요소
____다이어그램의 요소
____RxMarbles 도구
__연산자 분석
____Map
____FlatMap
____onExceptionResumeNext()
____GroupBy
____SubscribeOn과 ObserveOn
____BehaviorSubject
__요약

찾아보기

관련이미지

저자소개

타다스 수보니스 [저] 신작알림 SMS신청
생년월일 -

해당작가에 대한 소개가 없습니다.

김성일 [역] 신작알림 SMS신청
생년월일 -

해당작가에 대한 소개가 없습니다.

전공도서/대학교재 분야에서 많은 회원이 구매한 책

    리뷰

    0.0 (총 0건)

    100자평

    작성시 유의사항

    평점
    0/100자
    등록하기

    100자평

    10.0
    (총 0건)

    판매자정보

    • 인터파크도서에 등록된 오픈마켓 상품은 그 내용과 책임이 모두 판매자에게 있으며, 인터파크도서는 해당 상품과 내용에 대해 책임지지 않습니다.

    상호

    (주)교보문고

    대표자명

    안병현

    사업자등록번호

    102-81-11670

    연락처

    1544-1900

    전자우편주소

    callcenter@kyobobook.co.kr

    통신판매업신고번호

    01-0653

    영업소재지

    서울특별시 종로구 종로 1(종로1가,교보빌딩)

    교환/환불

    반품/교환 방법

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

    반품/교환가능 기간

    변심 반품의 경우 출고완료 후 6일(영업일 기준) 이내까지만 가능
    단, 상품의 결함 및 계약내용과 다를 경우 문제점 발견 후 30일 이내

    반품/교환 비용

    변심 혹은 구매착오로 인한 반품/교환은 반송료 고객 부담
    상품이나 서비스 자체의 하자로 인한 교환/반품은 반송료 판매자 부담

    반품/교환 불가 사유

    ·소비자의 책임 있는 사유로 상품 등이 손실 또는 훼손된 경우
    (단지 확인을 위한 포장 훼손은 제외)

    ·소비자의 사용, 포장 개봉에 의해 상품 등의 가치가 현저히 감소한 경우
    예) 화장품, 식품, 가전제품(악세서리 포함) 등

    ·복제가 가능한 상품 등의 포장을 훼손한 경우
    예) 음반/DVD/비디오, 소프트웨어, 만화책, 잡지, 영상 화보집

    ·시간의 경과에 의해 재판매가 곤란한 정도로 가치가 현저히 감소한 경우

    ·전자상거래 등에서의 소비자보호에 관한 법률이 정하는 소비자 청약철회 제한 내용에 해당되는 경우

    상품 품절

    공급사(출판사) 재고 사정에 의해 품절/지연될 수 있음

    소비자 피해보상
    환불지연에 따른 배상

    ·상품의 불량에 의한 교환, A/S, 환불, 품질보증 및 피해보상 등에 관한 사항은 소비자분쟁해결 기준 (공정거래위원회 고시)에 준하여 처리됨

    ·대금 환불 및 환불지연에 따른 배상금 지급 조건, 절차 등은 전자상거래 등에서의 소비자 보호에 관한 법률에 따라 처리함

    (주) 인터파크 안전결제시스템 (에스크로) 안내

    (주)인터파크의 모든 상품은 판매자 및 결제 수단의 구분없이 회원님들의 구매안전을 위해 안전결제 시스템을 도입하여 서비스하고 있습니다.
    결제대금 예치업 등록 : 02-006-00064 서비스 가입사실 확인

    배송안내

    • 교보문고 상품은 택배로 배송되며, 출고완료 1~2일내 상품을 받아 보실 수 있습니다.

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

    • 군부대, 교도소 등 특정기관은 우체국 택배만 배송가능합니다.

    • 배송비는 업체 배송비 정책에 따릅니다.

    • - 도서 구매 시, 1만 원 이상 무료, 1만원 미만 2천 원 - 상품별 배송비가 있는 경우, 상품별 배송비 정책 적용