안드로이드 데이터베이스

고객평점
저자아담 스트라우드
출판사항에이콘, 발행일:2017/03/23
형태사항p.314 B5판:24
매장위치컴퓨터부(B2) , 재고문의 : 051-816-9500
ISBN9788960779952 [소득공제]
판매가격 30,000원  
포인트 900점
배송비결제주문시 결제
  • 주문수량 

총 금액 : 0원

책 소개

▣ 출판사서평

안드로이드 앱을 조금이나마 만들어본 개발자를 위한 책이다. 특히 기본적인 안드로이드 컴포넌트(액티비티(Activity), 프래그먼트(Fragment), 인텐트(Intent), 애플리케이션 매니페스트(Manifest))를 이해하고 있고, 안드로이드 스레드(Thread) 모델에 익숙하다면 더욱 도움이 될 것이다. 관계형 데이터 시스템에 대한 지식이 있다면 더욱 도움이 되겠지만, 이 책에서 다룰 내용을 이해하는 데 반드시 필요한 것은 아니다.

이 책은 관계형 데이터베이스 이론과 관계형 모델의 역사, 이 모델이 어떻게 탄생했는지에 대한 논의로 시작한다. 그리고 구조화 질의어(SQL)를 거친 후 SQL을 사용해 어떻게 데이터베이스를 구축하고 다루며 조회하는지 알아볼 것이다. SQL을 논의할 때 안드로이드에 특화된 설명도 있지만 안드로이드에 특화되지 않은 일반적인 SQL을 주로 다룰 것이다.

SQLite에 관한 정보와 안드로이드와 어떤 관련이 있는지도 알아볼 것이다. 또한 이 책은 데이터베이스와 상호작용할 수 있는 안드로이드 API와 데이터베이스 모범 사례를 다뤘다.

데이터베이스, SQL, SQLite 기초와 함께 안드로이드 앱 개발자가 흔히 데이터베이스를 사용하면서 직면하는 문제에 대한 해결책도 다루었다. 스레드, 원격 데이터 접근, 데이터 표시와 같은 주제도 포함했다. 그리고 콘텐트 프로바이더(Content Provider)를 기반으로 하는 데이터베이스 접근 층에 대한 예제도 다루었다.
다음은 각 장의 내용을 간략히 설명한 것이다.

1장, ‘관계형 데이터베이스’에서는 관계형 데이터베이스를 소개하고 관계형 모델이 왜 과거의 데이터베이스 모델보다 인기가 많은지 알아본다.
2장, ‘SQL 들어가기’에서는 일반적인 데이터베이스와 관련하여 SQL을 설명한다. 이 장은 데이터베이스 구조를 만드는 SQL 언어에 대해 배우고, 데이터베이스 내부의 데이터를 다루는 기능을 논의한다.
3장, ‘SQLite 들어가기’에서는 SQLite 데이터베이스 시스템의 세부사항을 설명하고, 다른 데이터베이스 시스템과 어떻게 다른지 비교한다.
4장, ‘안드로이드 SQLite’에서는 안드로이드 앱을 위해 상주하는 데이터베이스 같은 안드로이드에 특화된 SQLite를 다룬다. 또한 이 장에서 앱의 외부로부터 데이터베이스에 접근하는 방법을 다룬다. 이 부분은 디버깅 시 중요할 수 있다.
5장, ‘안드로이드 데이터베이스와 작업하기’에서는 데이터베이스를 다루는 안드로이드 API를 알아보고 어떻게 앱에서 데이터를 받고 데이터베이스에 저장하는지를 알아본다.
6장, ‘콘텐트 프로바이더에서는 안드로이드에서 데이터 접근 메커니즘인 콘텐트 프로바이더 사용법을 알아보고, 언제 사용하는지 알아본다.
7장, ‘데이터베이스와 UI’에서는 로컬 데이터베이스로부터 데이터를 가져와 어떻게 사용자에게 보여주는지 소개한다. 안드로이드에 존재하는 스레드 문제를 다룬다.
8장, ‘인텐트로 데이터 공유하기’에서는 콘텐트 프로바이더 외의 방법으로 인텐트를 이용하여 앱 간에 데이터를 공유할 수 있는 방법을 알아본다.
9장, ‘웹 API와 커뮤니케이션’에서는 앱과 원격 웹 API간 양방향 커뮤니케이션을 위한 메서드와 도구들을 알아본다.
10장, ‘데이터 바인딩’에서는 데이터 바인딩 API로 어떻게 UI를 표현할 수 있는지 알아본다. 또한 관련 API도 살펴본다. 이 장에서 데이터베이스로부터 데이터를 보여주는 방법을 예제를 통해 알아본다.

▣ 작가 소개

저자 : 아담 스트라우드
2010년부터 안드로이드 앱을 개발해 온 안드로이드 개발자다. Runkeeper, Mustbin, Chef Nightly와 같은 스타트업에서 근무했으며, 처음부터 안드로이드 개발을 이끌어왔다. 안드로이드와 오픈소스에 대해 강한 열정이 있고, 안드로이드에 관련된 모든 것에 흥미를 느끼고 있다.
또한 그는 안드로이드 개발 서적을 집필해왔고, 안드로이드 디바이스의 루트 접근 부여와 같은 넓은 주제를 가지고 대화하는 것을 즐긴다. 안드로이드 단체의 일원이 되는 것을 좋아하며, 괴짜 같은 안드로이드의 광팬들과 함께 지내기도 한다.
현재 새로운 스타트업의 기술 공동 창립자로서 안드로이드 개발과 감독을 맡고 있다.

공역자 : 오세봉
티맥스 소프트에서 웹 어플리케이션 서버를 개발하다 빅데이터에 관심이 생겨 KT 넥스알에 입사했다. 재직 중에 『하이브 완벽 가이드』(한빛미디어, 2013), 『케스케이딩 완벽 가이드』(한빛미디어, 2014)와 『MVC 구조의 확실한 해답 AngularJS 디렉티브』(에이콘, 2016)을 번역했다. KT 넥스알을 나와 어린이용 스마트워치(LINE 키즈폰)를 출시했으며 이때부터 안드로이드 개발을 시작했다. 대학 때부터 웹을 비롯한 UI에 관심이 많아 안드로이드 UI에 적응하는 데 오래 걸리지는 않았지만 SQLite를 비롯한 안드로이드 서비스는 자료가 많지 않아 시행착오를 많이 겪어야 했다. 마침 이 책을 번역하게 돼 참고할 만한 자료에 목말라하는 사람들에게 도움을 줄 수 있어서 기쁘다. 현재는 SK텔레콤에서 빅데이터를 이용한 데이터 분석과 관련된 일을 하고 있다.

공역자 : 김기환
어린이용 스마트워치(LINE 키즈폰)을 개발하면서 안드로이드의 매력에 빠졌다. 모바일과 UI, UX에 관심이 많으며 번역 및 개발을 취미로 삼고 있다. 번역서로는 『MVC 구조의 확실한 해답 Angular JS 디렉티브』(에이콘, 2016)이 있다.

▣ 주요 목차

1장. 관계형 데이터베이스
__데이터베이스의 역사
____계층형 모델
____네트워크 모델
____관계형 모델의 소개
__관계형 모델
____릴레이션
____릴레이션의 성질
____관계
____관계형 언어
____관계 해석
__데이터베이스 언어
____알파
____큐얼
____씨큐얼
__요약

2장. SQL 들어가기
__데이터 정의 언어
____테이블
____트리거
__데이터 조작 언어
____INSERT
____질의
__요약

3장. SQLite 들어가기
__SQLite의 특징
__SQLite 성질
____외래 키 지원
____전문 검색
____원자성 트랜잭션
__SQLite가 지원하지 않는 것
____제한된 JOIN
____읽기 전용 뷰
____제한된 ALTER TABLE
__SQLite 데이터 타입
____스토리지 클래스
____타입 친화성
__요약

4장. 안드로이드 SQLite
__디바이스에서 데이터 저장
__안드로이드 데이터베이스 API
____SQLiteOpenHelper
____SQLiteOpenHelper 생성자
____SQLiteOpenHelper.onUpgrade()
____SQLiteDatabase
__데이터베이스 업그레이드 전략
____데이터베이스 다시 생성하기
____데이터베이스 조작하기
____테이블 복사한 후 삭제하기
__데이터베이스 접근과 메인 스레드
__안드로이드 데이터베이스 분석
____adb로 데이터베이스 접근하기
____서드파티 툴로 안드로이드 데이터베이스에 접속하기
__요약

5장. 안드로이드 데이터베이스와 작업하기
__안드로이드에서 데이터 다루기
____테이블에 로우 삽입하기
____테이블에서 로우 수정하기
____테이블 로우 치환하기
____테이블에서 로우 삭제하기
__트랜잭션
____트랜잭션 이용하기
____트랜잭션과 성능
__질의하기
____편리한 질의 함수
____문자열 질의 함수
__커서
____커서 데이터 읽기
____커서 관리하기
__CursorLoader
____CursorLoader 생성하기
____CursorLoader 시작하기
____CursorLoader 재시작하기
__요약

6장. 콘텐트 프로바이더
__REST를 닮은 콘텐트 프로바이더 API
__콘텐트 URI
__콘텐트 프로바이더로 데이터 공개하기
____콘텐트 프로바이더 구현하기
____콘텐트 리졸버
__원격 콘텐트 프로바이더를 외부 앱에 공개하기
____프로바이더 수준 권한
____개별적인 읽기/쓰기 권한
____URI 위치 권한
____콘텐트 프로바이더 권한
__콘텐트 프로바이더 계약
__외부 앱에서 접근 허용하기
__콘텐트 프로바이더 구현하기
____android.content.ContentProvider 상속하기
____update()
____getType()
__콘텐트 프로바이더를 언제 사용해야 하는가?
____콘텐트 프로바이더 단점
____콘텐트 프로바이더의 장점
__요약

7장. 데이터베이스와 UI
__데이터베이스의 데이터를 UI로 보여주기
____커서 로더로 스레드 다루기
____커서 데이터를 UI에 바인딩하기
____RecyclerView
____관찰자 역할의 커서
____액티비티에서 콘텐트 프로바이더 접근하기
____반환된 데이터 처리
____데이터 변경에 반응하기
__요약

8장. 인텐트로 데이터 공유하기
__인텐트 전송
____명시적 인텐트
____암시적 인텐트
____인텐트로 액티비티 시작하기
__암시적 인텐트 받기
__인텐트 생성하기
____액션
____엑스트라
____엑스트라 데이터 형식
____인텐트에 추가하면 안 되는 것
__ShareActionProvider
____공유 액션 메뉴
__요약

9장. 웹 API와 통신하기
__REST와 웹 서비스
____REST 개요
____REST와 유사한 웹 API 구조
__원격 웹 API 접근하기
____표준 안드로이드 API로 웹 서비스 접근하기
____Retrofit으로 웹 서비스 연결하기
____Volley로 웹 서비스 연결하기
__사용자 경험 향상을 위한 데이터 저장
____데이터 전송과 배터리 소모
____데이터 전송과 사용자 경험
____웹 서비스의 응답 데이터 저장하기
__안드로이드 SyncAdapter 프레임워크
____AccountAuthenticator
____SyncAdapter
__수동으로 원격 데이터 동기화
____RxJava 간단히 훑어보기
____Retrofit에 RxJava 추가하기
____RxJava로 동기화하기
__요약

10장. 데이터 바인딩
__안드로이드 프로젝트에 데이터 바인딩 추가하기
____데이터 바인딩 레이아웃
____데이터 바인딩으로 보일러플레이트 코드 대체하기
____데이터 바인딩 표현 언어
__요약

작가 소개

목 차

역자 소개

01. 반품기한
  • 단순 변심인 경우 : 상품 수령 후 7일 이내 신청
  • 상품 불량/오배송인 경우 : 상품 수령 후 3개월 이내, 혹은 그 사실을 알게 된 이후 30일 이내 반품 신청 가능
02. 반품 배송비
반품 배송비
반품사유 반품 배송비 부담자
단순변심 고객 부담이며, 최초 배송비를 포함해 왕복 배송비가 발생합니다. 또한, 도서/산간지역이거나 설치 상품을 반품하는 경우에는 배송비가 추가될 수 있습니다.
상품의 불량 또는 오배송 고객 부담이 아닙니다.
03. 배송상태에 따른 환불안내
환불안내
진행 상태 결제완료 상품준비중 배송지시/배송중/배송완료
어떤 상태 주문 내역 확인 전 상품 발송 준비 중 상품이 택배사로 이미 발송 됨
환불 즉시환불 구매취소 의사전달 → 발송중지 → 환불 반품회수 → 반품상품 확인 → 환불
04. 취소방법
  • 결제완료 또는 배송상품은 1:1 문의에 취소신청해 주셔야 합니다.
  • 특정 상품의 경우 취소 수수료가 부과될 수 있습니다.
05. 환불시점
환불시점
결제수단 환불시점 환불방법
신용카드 취소완료 후, 3~5일 내 카드사 승인취소(영업일 기준) 신용카드 승인취소
계좌이체 실시간 계좌이체 또는 무통장입금
취소완료 후, 입력하신 환불계좌로 1~2일 내 환불금액 입금(영업일 기준)
계좌입금
휴대폰 결제 당일 구매내역 취소시 취소 완료 후, 6시간 이내 승인취소
전월 구매내역 취소시 취소 완료 후, 1~2일 내 환불계좌로 입금(영업일 기준)
당일취소 : 휴대폰 결제 승인취소
익월취소 : 계좌입금
포인트 취소 완료 후, 당일 포인트 적립 환불 포인트 적립
06. 취소반품 불가 사유
  • 단순변심으로 인한 반품 시, 배송 완료 후 7일이 지나면 취소/반품 신청이 접수되지 않습니다.
  • 주문/제작 상품의 경우, 상품의 제작이 이미 진행된 경우에는 취소가 불가합니다.
  • 구성품을 분실하였거나 취급 부주의로 인한 파손/고장/오염된 경우에는 취소/반품이 제한됩니다.
  • 제조사의 사정 (신모델 출시 등) 및 부품 가격변동 등에 의해 가격이 변동될 수 있으며, 이로 인한 반품 및 가격보상은 불가합니다.
  • 뷰티 상품 이용 시 트러블(알러지, 붉은 반점, 가려움, 따가움)이 발생하는 경우 진료 확인서 및 소견서 등을 증빙하면 환불이 가능하지만 이 경우, 제반 비용은 고객님께서 부담하셔야 합니다.
  • 각 상품별로 아래와 같은 사유로 취소/반품이 제한 될 수 있습니다.

환불불가
상품군 취소/반품 불가사유
의류/잡화/수입명품 상품의 택(TAG) 제거/라벨 및 상품 훼손으로 상품의 가치가 현저히 감소된 경우
계절상품/식품/화장품 고객님의 사용, 시간경과, 일부 소비에 의하여 상품의 가치가 현저히 감소한 경우
가전/설치상품 전자제품 특성 상, 정품 스티커가 제거되었거나 설치 또는 사용 이후에 단순변심인 경우, 액정화면이 부착된 상품의 전원을 켠 경우 (상품불량으로 인한 교환/반품은 AS센터의 불량 판정을 받아야 합니다.)
자동차용품 상품을 개봉하여 장착한 이후 단순변심의 경우
CD/DVD/GAME/BOOK등 복제가 가능한 상품의 포장 등을 훼손한 경우
내비게이션, OS시리얼이 적힌 PMP 상품의 시리얼 넘버 유출로 내장된 소프트웨어의 가치가 감소한 경우
노트북, 테스크탑 PC 등 홀로그램 등을 분리, 분실, 훼손하여 상품의 가치가 현저히 감소하여 재판매가 불가할 경우