서브메뉴

본문

안드로이드 데이터베이스 프로그래밍
안드로이드 데이터베이스 프로그래밍
저자 : 제이슨 웨이
출판사 : 에이콘출판
출판년 : 2013
ISBN : 9788960774568

책소개

『안드로이드 데이터베이스 프로그래밍』은 안드로이드 애플리케이션을 작성하는 데 필요한 정보와 노하우를 제공한다. SharedPreferences와 SD 카드 저장소 같은 지역 데이터 저장소 형식, SQLite 데이터베이스의 개념, 사용자 정의 방법과 확장 방법, 다양한 SQLite 쿼리, SQLite 데이터베이스를 사용자 인터페이스로 연결하는 방법 등을 소개한다.
[교보문고에서 제공한 정보입니다.]

출판사 서평

데이터베이스를 활용한 안드로이드 애플리케이션을 작성하는 데 필요한 기본 지식과 다양한 활용 노하우를 학습할 수 있는 책이다. 프로그램의 성능을 향상시킬 수 있는 효과적인 쿼리 작성 방법과 SQLite 데이터베이스의 데이터를 UI로 연결하기 위한 방법, 구글 앱 엔진과 같은 외부 데이터베이스 예제 등을 통해 다양한 실전 활용 사례를 살펴본다.

★ 이 책에서 다루는 내용 ★
■ SharedPreferences와 SD 카드 저장소 같은 지역 데이터 저장소 형식
■ SQLite 데이터베이스의 개념, 사용자 정의 방법과 확장 방법
■ 데이터를 효율적으로 쿼리할 수 있는 다양한 SQLite 쿼리
■ 콘텐츠 프로바이더를 통해 SQLite 데이터베이스를 외부 애플리케이션으로 안전하게 노출하기 위한 방법
■ SQLite 데이터베이스를 사용자 인터페이스로 연결하는 방법
■ 구글 앱 앤진 같은 다양한 외부 데이터베이스와 외부 플랫폼에 데이터를 저장하거나 쿼리하는 방법
■ 외부 데이터 저장소를 통해 데이터를 송수신할 수 있는 네트워크 요청 방법

★ 이 책의 대상 독자 ★
이 책은 데이터베이스와 다른 백엔드 설계 개념에 대한 경험이 있는 개발자와 모바일 애플리케이션에 적용하는 방법을 배우고 싶은 사람을 대상으로 한다. 모바일 애플리케이션과 안드로이드 플랫폼에 경험이 있지만, 백엔드 시스템과 데이터베이스 스킴의 설계/구현에 익숙하지 않은 사람에게도 이 책은 유용하다.
안드로이드 프로그래밍과 데이터베이스 구현에 경험이 있는 사람에게도 광범위한 안드로이드 데이터 저장소 메소드의 개념에 대한 이해도를 높여줄 수 있다.

★ 이 책의 구성 ★
1장, ‘안드로이드 데이터 저장’에서는 안드로이드에서 사용 가능한 여러 가지 지역 데이터 저장소 메소드에 집중한다. 각 저장소 메소드에 대한 예제 코드와 각 메소드의 강점과 약점을 비교해본다.

2장, ‘SQLite 데이터베이스’에서는 좀 더 복잡하고, 좀 더 일반적으로 사용되는 로컬 데이터 저장소인 SQLite 데이터베이스에 집중해 사용자 정의 데이터베이스를 구현할 수 있게 인도한다.

3장, ‘SQLite 쿼리’에서는 SQL 쿼리 언어에 대한 기본적인 내용을 소개한다. SQLite 데이터베이스에서 사용할 수 있는 강력한 데이터베이스 쿼리를 생성하는 방법을 살펴본다.

4장, ‘콘텐츠 프로바이더’에서는 2장의 SQLite 데이터베이스를 확장해 콘텐츠 프로바이더를 사용함으로써 전체 안드로이드 OS에 자신의 데이터베이스를 노출하는 방법을 살펴본다.

5장, ‘Contacts 테이블 쿼리’는 안드로이드 OS에서 제공돼 가장 폭넓게 사용되는 콘텐츠 프로바이더인 Contacts 콘텐츠 프로바이더에 대해 알아본다. 또한 Contacts 테이블의 구조와 일반적인 쿼리 예제를 살펴본다.

6장, ‘UI 바인딩’에서는 데이터를 사용자 인터페이스로 연결하는 방법을 소개한다. 데이터는 일반적으로 목록 형태로 표시되므로 두 가지 종류의 리스트 어댑터를 살펴본다.

7장, ‘실용 안드로이드 데이터베이스’에서는 프로그래밍에서 살짝 벗어나 고수준 설계 관점에 집중한다. 지금까지 살펴본 모든 지역 저장소 메소드의 사용 방식을 설명하고, 지역 메소드의 문제점에 대해 집중적으로 살펴본 후 외부 데이터 저장소의 필요성을 언급한다.

8장, ‘외부 데이터베이스 탐험’에서는 외부 데이터베이스에 대한 개념과 일반적인 외부 데이터 저장소를 소개한다. 구글 앱 엔진Google App Engine 데이터 저장소를 설정하는 방법에 관련된 예제도 살펴본다.

9장, ‘데이터 수집과 저장’에서는 8장에서 살펴본 애플리케이션 데이터 수집 관련 개발 방법을 확장해 새로운 외부 데이터베이스에 추가할 수 있게 한다. 사용 가능한 API를 사용하거나 사용자 정의 웹 스크래퍼를 작성해 데이터를 수집하기 위한 방법을 소개한다.

10장, ‘종합 선물세트’에서는 제일 먼저 HTTP를 생성하는 방법을 살펴보고, 모바일 애플리케이션에서 HTTP 서블릿으로 HTTP를 요청하는 방법을 살펴보는 것으로 8장과 9장에서 살펴본 애플리케이션을 마무리한다. 10장은 이 책의 핵심과도 같다. 여러분이 모바일 애플리케이션을 자신의 외부 데이터베이스와 연결하고, 궁극적으로 HTTP 응답을 파싱하고 목록 형태로 표시하는 방법을 소개한다.

★ 저자 서문 ★
오늘날 우리는 데이터 중심적이며 데이터 지향적인 세상에 살고 있다. 우리는 보고 구입한 모든 상품을 추적해 유사한 제품을 추천해주는 아마존 같은 회사가 있는 세상에 살고 있으며, 모든 검색 쿼리(query)를 저장해 훗날 더 나은 검색 쿼리를 추천해주는 구글 같은 회사가 있는 세상에 살고 있다. 또한 친구들과 공유한 모든 이벤트와 생각들을 저장해 수백만 사용자 각각에 대해 좀 더 알 수 있게 해주는 페이스북 같은 소셜 미디어 사이트가 있는 세상에 살고 있다. 이처럼 우리가 사는 세상은 점점 더 데이터 중심적인 세상으로 변화하고 있으며, 따라서 우리는 데이터 중심 관점으로 애플리케이션을 개발해야 한다.

여러분 주위를 돌아보라. 스마트폰이나 태블릿 같은 모바일 기기는 지난 수년간 폭발적으로 증가했다. 이 책은 구글 친구들이 안드로이드 OS에 만들어 놓은 다양한 메소드를 바로 접함으로써 데이터와 안드로이드를 탐험하는 것을 목적으로 한다. 이 책에서는 사용 가능한 모든 다양한 데이터 저장소 메소드를 소개할 뿐만 아니라 각 메소드의 강점과 약점에 대해서도 설명한다. 이 책을 통해 여러분이 효율적이고 잘 설계된 확장성 있는 데이터 중심 애플리케이션 만들 수 있기를 바란다.

★ 옮긴이의 말 ★
내가 데이터베이스를 처음 접했던 시기는 아마 개인 홈페이지를 만들었던 때였을 것이다. 당시 홈페이지 방문자들이 방명록이라고 하는 게시판에 글을 남기면 그 글의 제목, 내용, 이름 등을 저장하기 위한 아주 간단한 데이터베이스가 만들어졌고, 이때 처음 SQL을 공부했던 기억이 어렴풋이 난다. 실제로 필요한 SQL문은 매우 간단한 한두 문장 정도였고, 이것이 나의 첫 데이터베이스 경험이었다. 이렇게 시작된 데이터베이스와의 만남은 이후 마이크로소프트 SQL 서버와 오라클 기반의 대용량 데이터베이스 처리까지 이어졌고, 처음엔 쉽게 접근했던 SQL문 튜닝에 하루를 꼬박 소요하기도 했었다. 재무/회계와 연관된 각종 테이블 간 관계와 부분집합에 대한 이해 없이는 수천만 건의 대상 집합 중 어느 특정한 단일 행의 결과 값을 빠른 시간에 가져오는 일은 정말 까다롭지만 흥미를 갖기에 충분했다.

실제로 모바일 세계에서는 이처럼 상당히 많은 양의 데이터를 처리하거나 복잡한 관계를 갖는 일이 많지는 않다. 하지만 데이터베이스의 특성을 모르고 작성한 프로그램과 데이터베이스의 특성에 따라 작성한 프로그램과의 성능 차이는 현저히 다를 수 있다. 이 책에서는 데이터베이스의 이해에 필요한 기본 지식과 SQL 쿼리, 안드로이드에서 필수적인 콘텐츠 프로바이더의 사용, 실제 활용 방법에 이르기까지 작지만 필요한 내용을 알차게 다뤘다. 안드로이드 모바일 애플리케이션 작성에 필요한 기본적인 데이터베이스 지식을 얻고 싶거나 다양한 데이터 저장 방식에 대해 알고 싶은 독자가 있다면 이 책을 추천한다.
[교보문고에서 제공한 정보입니다.]

목차정보

1장 노드 개요

___SharedPreferences의 사용

______SharedPreferences의 일반적인 사용 사례

_________사용자 애플리케이션의 첫 방문 체크

_________애플리케이션의 마지막 업데이트 시점 확인

_________사용자의 로그인 사용자 이름 저장

_________애플리케이션의 상태 저장

_________사용자 위치 캐시

___내부 저장소 메소드

___외부 저장소 메소드

___SQLite 데이터베이스

___정리



2장 SQLite 데이터베이스

___고급 SQLite 스킴 생성

___SQLite 데이터베이스를 위한 래퍼

___SQLite 데이터베이스 디버깅

___정리



3장 SQLite 쿼리

___SQLite 쿼리 생성 방법

___SELECT문

___WHERE 필터와 SQL 연산자

___ORDER BY와 GROUP BY

___HAVING 필터와 집합 함수

___SQL과 자바 성능 비교

___정리



4장 콘텐츠 프로바이더

___콘텐츠 프로바이더

______쿼리 메소드 구현

______delete와 update 메소드 구현

______insert와 getType 메소드 구현

______콘텐츠 프로바이더와 상호 작용

___실제 사용 사례

___정리



5장 Contacts 테이블 쿼리

___Contacts 콘텐츠 프로바이더의 구조

___연락처 쿼리

___연락처 수정

___권한 설정

___정리



6장 UI 바인딩

___SimpleCursorAdapters와 ListView

___사용자 정의 CursorAdapters

___BaseAdapters와 사용자 정의 BaseAdapters

___리스트 반복 처리

___CusorAdapters와 BaseAdapters 비교

___정리



7장 실용 안드로이드 데이터베이스

___지역 데이터베이스 사용 사례

___데이터베이스를 캐시로 사용

___일반적인 애플리케이션 설계

___정리



8장 외부 데이터베이스 탐험

___외부 데이터베이스의 종류

___구글 앱 엔진과 JDO 데이터베이스

___GAE: 비디오 게임 예제

___PersistenceManager와 쿼리

___정리



9장 데이터 수집과 저장

___데이터 수집 방법

___웹 스크래핑 입문

___GET/POST 방식을 위한 확장 HTTP 서블릿

___CRON 작업 스케줄링

___정리



10장 종합 선물세트

___HTTP GET 요청 구현

___안드로이드 돌아가기: 응답 파싱

___최종 단계: UI로 연결(복습)

___정리
[알라딘에서 제공한 정보입니다.]

QuickMenu