홈 > 부모님 > 부모님 > 소설,일반 > 컴퓨터,모바일
안드로이드 프로그래밍 Next Step  이미지

안드로이드 프로그래밍 Next Step
제대로 된 앱을 만드는 컴포넌트 활용 노하우
인사이트 | 부모님 | 2017.06.05
  • 정가
  • 25,000원
  • 판매가
  • 22,500원 (10% 할인)
  • S포인트
  • 1,125P (5% 적립)
  • 상세정보
  • 18.4x24 | 0.575Kg | 284p
  • ISBN
  • 9788966263073
  • 배송비
  • 2만원 이상 구매시 무료배송 (제주 5만원 이상) ?
    배송비 안내
    전집 구매시
    주문하신 상품의 전집이 있는 경우 무료배송입니다.(전집 구매 또는 전집 + 단품 구매 시)
    단품(단행본, DVD, 음반, 완구) 구매시
    2만원 이상 구매시 무료배송이며, 2만원 미만일 경우 2,000원의 배송비가 부과됩니다.(제주도는 5만원이상 무료배송)
    무료배송으로 표기된 상품
    무료배송으로 표기된 상품일 경우 구매금액과 무관하게 무료 배송입니다.(도서, 산간지역 및 제주도는 제외)
  • 출고일
  • 1~2일 안에 출고됩니다. (영업일 기준) ?
    출고일 안내
    출고일 이란
    출고일은 주문하신 상품이 밀크북 물류센터 또는 해당업체에서 포장을 완료하고 고객님의 배송지로 발송하는 날짜이며, 재고의 여유가 충분할 경우 단축될 수 있습니다.
    당일 출고 기준
    재고가 있는 상품에 한하여 평일 오후3시 이전에 결제를 완료하시면 당일에 출고됩니다.
    재고 미보유 상품
    영업일 기준 업체배송상품은 통상 2일, 당사 물류센터에서 발송되는 경우 통상 3일 이내 출고되며, 재고확보가 일찍되면 출고일자가 단축될 수 있습니다.
    배송일시
    택배사 영업일 기준으로 출고일로부터 1~2일 이내 받으실 수 있으며, 도서, 산간, 제주도의 경우 지역에 따라 좀 더 길어질 수 있습니다.
    묶음 배송 상품(부피가 작은 단품류)의 출고일
    상품페이지에 묶음배송으로 표기된 상품은 당사 물류센터에서 출고가 되며, 이 때 출고일이 가장 늦은 상품을 기준으로 함께 출고됩니다.
  • 주문수량
  • ★★★★★
  • 0/5
리뷰 0
리뷰쓰기

구매문의 및 도서상담은 031-944-3966(매장)으로 문의해주세요.
매장전집은 전화 혹은 매장방문만 구입 가능합니다.

  • 도서 소개
  • 출판사 리뷰
  • 작가 소개
  • 목차
  • 회원 리뷰

  도서 소개

프로그래밍 인사이트 시리즈. 안드로이드의 기본 원리를 이해하고 이를 올바르게 적용하는 것에 중점을 둔 책이다. 그러면서도 실무적인 내용을 담았는데, 다른 책에서는 가볍게 다뤄지는 내용이라도 현장에서 중요하게 쓰이는 것에 많은 분량을 할애했다.

제대로 된 앱을 만들기 위해서는 안드로이드의 기본 원리를 정확히 알고 제대로 활용해야 한다. 또한 안드로이드 내부 구조를 정확히 이해하고 있어야 한다. 보고 따라하며 실제 업무에서 알아야 할 다양한 크리티컬 이슈, 군더더기 없는 정확한 소스, 안드로이드 버전, 단말의 종류 등 환경 변화에 능동적으로 대처할 수 있는 앱에 대한 아이디어를 얻을 수 있을 것이다.

  출판사 리뷰

모든 문제는 컴포넌트를 제대로 다루지 못하는 데서 생긴다!
이 책을 보려는 사람들이라면 안드로이드를 공부하기 위해 두꺼운 입문서를 따라하면서 오랜 시간을 보냈을 것이다. 근사한 앱을 상상했지만 고생해서 만든 앱에서는 늘상 문제가 발생한다. 입문서에 나오지 않는 문제들을 해결하기 위해 개발자 가이드를 읽고, 구글을 검색해 보지만 군더더기가 많아지고 꼼수만 늘어간다.

제대로 된 앱을 만들기 위해서는 결국 안드로이드의 기본 원리를 정확히 알고 제대로 활용해야 한다. 그러기 위해서는 안드로이드 내부 구조를 정확히 이해하고 있어야 한다. 그래야 컴포넌트를 적재적소에서 정확히 활용할 수 있고, 유지보수가 쉬우면서도 진화할 수 있는 제대로 된 앱을 만들 수 있다.
이 책은 안드로이드의 기본 원리를 이해하고 이를 올바르게 적용하는 것에 중점을 둔다. 그러면서도 실무적인 내용을 담았는데, 다른 책에서는 가볍게 다뤄지는 내용이라도 현장에서 중요하게 쓰이는 것에 많은 분량을 할애하였다. 안드로이드 내부 구조를 설명하는 책이나 강의가 있기는 하지만 수준이 높거나 실무에서 활용하는 법은 잘 다루지 않곤 한다. 이 책이 입문서를 보고 난 후 방황하는 독자에게 도움이 되었으면 한다.


대상독자
- 앱을 개발하면서 자신이 정말 제대로 만들고 있는지, 문제를 올바르게 해결하고 있는지 의문을 갖는 분
- 안드로이드 컴포넌트를 어떤 식으로 활용할지 잘 모르겠는 분
- 실제 예를 단순히 따라하기보다는 개념이 어떻게 적용되는지를 알고 싶은 분
- 실제 업무에서 알아야 할 다양한 크리티컬 이슈를 알고 싶은 분
- 군더더기 없는 정확한 소스를 작성하고 싶은 분
- 안드로이드 버전, 단말의 종류 등 환경 변화에 능동적으로 대처할 수 있는 앱을 만들고 싶은 분
- 안드로이드 앱 개발을 설명하는 책도 보고, 안드로이드 프레임워크를 설명하는 책도 봤지만 프레임워크를 앱 개발에 잘 적용하려면 어떻게 해야 하는지 도무지 모르겠는 분

  작가 소개

저자 : 노재춘
서울대 수학과를 졸업한 후 작은 IT 회사에서 직장 생활을 시작했고, 그 회사를 다니면서 저녁과 주말을 이용해 독학으로 프로그래밍에 입문하였다. 현재 네이버에 재직 중이고 차량용 인포테인먼트 앱을 만들고 있다. 네이버에서 안드로이드 사내 강의를 수차례 진행했고 각종 스터디에도 꾸준히 참여하고 있다. 앱을 개발하면서 크래시를 많이 발생시키기도 했는데, 그 경험을 바탕으로 문제의 원인을 찾아 근본적으로 해결하는 것에 관심이 많아졌다. 웹 개발 서적인 『모델 2로 다시 배우는 JSP』(공저, 2003년, 한빛미디어)를 저술했다. 두 아이와 많이 놀고 싶어하고, 승마 얘기만 나오면 말이 많아지는 평범한 개발자다.

  목차

1장 안드로이드 프레임워크
1.1 안드로이드 아키텍처 개요
1.1.1 애플리케이션
1.1.2 애플리케이션 프레임워크
1.1.3 안드로이드 런타임
1.1.4 라이브러리
1.1.5 리눅스 커널
1.2 프레임워크 소스
1.3 안드로이드 버전
1.3.1 호환성 모드
1.3.2 호환성 모드 동작 예시
1.3.3 단말 버전 체크

2장 메인 스레드와 Handler
2.1 UI 처리를 위한 메인 스레드
2.2 Looper 클래스
2.3 Message와 MessageQueue
2.4 Handler 클래스
2.4.1 Handler 생성자
2.4.2 Handler 동작
2.4.3 Handler 용도
2.4.4 Handler의 타이밍 이슈
2.5 UI 변경 메커니즘
2.6 ANR
2.6.1 ANR 타임아웃
2.6.2 프레임워크에서 ANR 판단

3장 백그라운드 스레드
3.1 HandlerThread 클래스
3.2 스레드 풀 사용
3.2.1 ThreadPoolExecutor 클래스
3.2.2 ScheduledThreadPoolExecutor 클래스
3.2.3 Executors 클래스
3.3 AsyncTask 클래스
3.3.1 백그라운드 스레드와 UI 스레드 구분
3.3.2 액티비티 종료 시점과 불일치
3.3.3 AsyncTask 취소
3.3.4 예외 처리 메서드 없음
3.3.5 병렬 실행 시 doInBackground() 실행 순서가 보장되지 않음

4장 Context

5장 액티비티

5.1 생명주기
5.1.1 액티비티 생명주기 다이어그램
5.1.2 생명주기 메서드 호출 시점
5.1.3 액티비티 시작 메서드
5.1.4 액티비티 전환 시 생명주기 메서드 호출
5.1.5 생명주기 메서드 사용 시 주의사항
5.2 구성 변경
5.2.1 리소스 반영
5.2.2 구성 변경으로 인한 액티비티 재시작
5.2.3 프레임워크 소스 확인
5.2.4 구성 한정자
5.2.5 데이터 복구
5.2.6 android:configChanges 속성
5.2.7 Configuration 클래스의 변수 확인
5.3 태스크
5.3.1 태스크 상태
5.3.2 dumpsys 명령어로 태스크 확인
5.3.3 taskAffinity 속성
5.3.4 태스크 속성 부여
5.4 선언

6장 서비스
6.1 스타티드 서비스
6.1.1 서비스 재시작 방식
6.1.2 멀티 스레드 이슈
6.1.3 외부 프로세스에서 암시적 인텐트로 서비스 시작
6.1.4 IntentService 클래스
6.1.5 서비스 중복 실행 방지
6.2 바운드 서비스
6.2.1 리모트 바인딩
6.2.2 로컬 바인딩
6.2.3 바인딩의 특성
6.2.4 Messenger 클래스

7장 콘텐트 프로바이더
7.1 SQLite
7.1.1 sqlite shell
7.1.2 DB 락 문제
7.1.3 SQLiteOpenHelper 클래스
7.2 콘텐트 프로바이더
7.2.1 로컬 프로세스에서 콘텐트 프로바이더 적용 기준
7.2.2 콘텐트 프로바이더 예제
7.2.3 배치 실행
7.3 SQLite/ContentProvider 관련 팁
7.3.1 쿼리 실행 확인
7.3.2 콘텐트 프로바이더 예외 확인

8장 브로드캐스트 리시버
8.1 브로드캐스트 리시버 구현
8.2 브로드캐스트 리시버 등록
8.2.1 브로드캐스트 리시버 정적 등록
8.2.2 브로드캐스트 리시버 동적 등록
8.3 오더드 브로드캐스트
8.4 스티키 브로드캐스트
8.5 LocalBroadcastManager 클래스
8.6 앱 위젯
8.6.1 앱 위젯의 특성
8.6.2 AppWidgetProvider 클래스
8.6.3 RemoteViews 클래스
8.6.4 앱 위젯 업데이트
8.6.5 유의할 점

9장 Application
9.1 앱 초기화
9.2 Application 콜백
9.2.1 ComponentCallbacks2 인터페이스
9.2.2 Application에 등록하는 콜백
9.3 프로세스 분리
9.3.1 프로세스 분리가 필요한 때
9.3.2 분리된 프로세스에서 Application은 새로 시작
9.3.3 프로세스 분리 시 주의할 점

10장 시스템 서비스
10.1 시스템 서비스 기본
10.2 dumpsys 명령어
10.3 시스템 서비스 이슈
10.3.1 빈번한 리모트 호출을 줄여야 함
10.3.2 전원 관리와 딥 슬립
10.3.3 알람 등록과 제거

11장 구현 패턴
11.1 싱글톤 패턴
11.1.1 싱글톤에 Context를 전달하는 방법
11.1.2 메모리 누수 검증
11.2 마커 인터페이스
11.3 Fragment 정적 생성

  회원리뷰

리뷰쓰기

    이 분야의 신상품