안드로이드 데이터베이스 (실전에 바로 적용할 수 있는 안드로이드 지침서)

안드로이드 데이터베이스 (실전에 바로 적용할 수 있는 안드로이드 지침서)

$30.25
Description
[안드로이드 데이터베이스]는 애플리케이션을 작성하는 데 필요한 데이터베이스 설계와 전략을 제공한다. 데이터베이스의 역사, 기본 SQLite와 안드로이드 내부의 SQLite의 전반적인 내용을 세부적으로 다루며, 또한 데이터베이스와 작업하기 위한 안드로이드 API, 컴포넌트, 데이터 공유 방법 등을 소개한다.
저자

아담스트라우드

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

목차

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

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

3장.SQLite들어가기
__SQLite의특징
__SQLite성질
____외래키지원
____전문검색
____원자성트랜잭션
__SQLite가지원하지않는것
____제한된JOIN
____읽기전용뷰
____제한된ALTERTABLE
__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장.데이터바인딩
__안드로이드프로젝트에데이터바인딩추가하기
____데이터바인딩레이아웃
____데이터바인딩으로보일러플레이트코드대체하기
____데이터바인딩표현언어
__요약

출판사 서평

★이책에서다루는내용★

■SQLite데이터베이스와다른관계형데이터베이스의차이점
■SQLDDL를통한데이터베이스구조화및DML를이용한데이터조작
■SQLite데이터타입정의
■빠르고효율적인접근을위한데이터의구조적저장
■데이터베이스생성,조회,수정,삭제(CRUD)연산및질의
■콘텐트프로바이더를이용한앱간데이터공유
■스레드문제처리및데이터의효과적표시
■새로운액티비티나서비스시작시안드로이드인텐트API를이용한액티비티간데이터전달
■앱과원격웹API간통신방법
■앱-서버통신관리및일반적인문제회피
■안드로이드데이터바인딩API를사용한코드축소및성능향상

★이책의대상독자★

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

★이책의구성★

이책은관계형데이터베이스이론과관계형모델의역사,이모델이어떻게탄생했는지에대한논의로시작한다.그리고구조화질의어(SQL)를거친후SQL을사용해어떻게데이터베이스를구축하고다루며조회하는지알아볼것이다.SQL을논의할때안드로이드에특화된설명도있지만안드로이드에특화되지않은일반적인SQL을주로다룰것이다.
SQLite에관한정보와안드로이드와어떤관련이있는지도알아볼것이다.또한이책은데이터베이스와상호작용할수있는안드로이드API와데이터베이스모범사례를다뤘다.
데이터베이스,SQL,SQLite기초와함께안드로이드앱개발자가흔히데이터베이스를사용하면서직면하는문제에대한해결책도다루었다.스레드,원격데이터접근,데이터표시와같은주제도포함했다.그리고콘텐트프로바이더(ContentProvider)를기반으로하는데이터베이스접근층에대한예제도다루었다.
다음은각장의내용을간략히설명한것이다.
1장,‘관계형데이터베이스’에서는관계형데이터베이스를소개하고관계형모델이왜과거의데이터베이스모델보다인기가많은지알아본다.
2장,‘SQL들어가기’에서는일반적인데이터베이스와관련하여SQL을설명한다.이장은데이터베이스구조를만드는SQL언어에대해배우고,데이터베이스내부의데이터를다루는기능을논의한다.
3장,‘SQLite들어가기’에서는SQLite데이터베이스시스템의세부사항을설명하고,다른데이터베이스시스템과어떻게다른지비교한다.
4장,‘안드로이드SQLite’에서는안드로이드앱을위해상주하는데이터베이스같은안드로이드에특화된SQLite를다룬다.또한이장에서앱의외부로부터데이터베이스에접근하는방법을다룬다.이부분은디버깅시중요할수있다.
5장,‘안드로이드데이터베이스와작업하기’에서는데이터베이스를다루는안드로이드API를알아보고어떻게앱에서데이터를받고데이터베이스에저장하는지를알아본다.
6장,‘콘텐트프로바이더에서는안드로이드에서데이터접근메커니즘인콘텐트프로바이더사용법을알아보고,언제사용하는지알아본다.
7장,‘데이터베이스와UI’에서는로컬데이터베이스로부터데이터를가져와어떻게사용자에게보여주는지소개한다.안드로이드에존재하는스레드문제를다룬다.
8장,‘인텐트로데이터공유하기’에서는콘텐트프로바이더외의방법으로인텐트를이용하여앱간에데이터를공유할수있는방법을알아본다.
9장,‘웹API와커뮤니케이션’에서는앱과원격웹API간양방향커뮤니케이션을위한메서드와도구들을알아본다.
10장,‘데이터바인딩’에서는데이터바인딩API로어떻게UI를표현할수있는지알아본다.또한관련API도살펴본다.이장에서데이터베이스로부터데이터를보여주는방법을예제를통해알아본다.

★지은이의말★

최근모바일디바이스의폭발적증가는모바일앱의수와복잡성을증가시켰다.단순한앱을위한플랫폼이이제는여러가지기능을수행하는많은앱을포함하고있다.모바일디바이스가다양한데이터소스로부터많은양의데이터를받을수있게됐기때문이다.이에따라데이터를효율적으로저장하고조회하는것에대한요구가점차증가하고있다.
전통적인소프트웨어시스템에서는많은양의데이터를데이터베이스에저장하는데,이데이터베이스는요청에따라데이터를저장하고조회하는데최적화돼있다.안드로이드또한이와똑같은기능을제공하는SQLite라는데이터베이스시스템을갖추고있다.SQLite는요즘앱에맞는기능을지원할뿐만아니라자원이제한된여러모바일디바이스환경에서도잘작동한다.이책은안드로이드에내장된데이터베이스시스템을어떻게사용하는지에대해설명할것이다.그리고실제안드로이드앱을만들때맞닥뜨리게될문제에대해서도다룰것이다.

★옮긴이의말★

1인1스마트폰시대에안드로이드는생활속깊숙이파고들었고스마트폰시장에서빼놓을수없는플랫폼의선두주자로자리매김했다.또한스마트폰을넘어패스트푸드무인계산기,지하철,쇼핑몰의옥내광고,레스토랑전자메뉴판등주변의다양한머신에서안드로이드를볼수있는광경도이제낯설지가않다.하지만누구든지안드로이드를개발할수있는접근성은낮아졌으나안드로이드의높은이해도가필요하다.
모바일데이터베이스는엔터프라이즈급데이터베이스의데이터양과복잡한관계를갖지않지만클라이언트데이터의관리도소홀히할수없다.이를위해서는클라이언트의데이터베이스의특성을제대로이해하고파악해야견고하고효율적인애플리케이션을작성할수있다.또한사용자의데이터가중요해지는만큼어떻게이를구조적으로저장,관리해야하는지전략을내세워데이터무결성을유지해야한다.
이책에서는관계형데이터베이스의탄생부터시작해어떻게지금의모습으로진화했는지알아보고,SQL의기초및개념에배운다.또한실무에바로적용할수있는안드로이드SQLite컴포넌트와API를이용해데이터베이스관리와업그레이드전략에대해알차게다루었다.안드로이드의콘텐트프로바이더,인텐트뿐만아니라,서드파티를이용한원격데이터를사용자에게보여주는방법을대해기술했다.모바일애플리케이션제작시필요한기본적인데이터공유,관리방법에대해궁금하거나사용자에게데이터를효율적으로보여주길원하는독자에게이책을추천한다.