Home > Store

Android Database Best Practices

Register your product to gain access to bonus material or receive a coupon.

Android Database Best Practices


  • Sorry, this book is no longer in print.
Not for Sale

eBook (Watermarked)

  • Your Price: $22.39
  • List Price: $27.99
  • Includes EPUB, MOBI, and PDF
  • About eBook Formats
  • This eBook includes the following formats, accessible from your Account page after purchase:

    ePub EPUB The open industry format known for its reflowable content and usability on supported mobile devices.

    MOBI MOBI The eBook format compatible with the Amazon Kindle and Amazon Kindle applications.

    Adobe Reader PDF The popular standard, used most often with the free Adobe® Reader® software.

    This eBook requires no passwords or activation to read. We customize your eBook by discreetly watermarking it with your name, making it uniquely yours.


  • Copyright 2017
  • Dimensions: 7" x 9"
  • Pages: 288
  • Edition: 1st
  • Book
  • ISBN-10: 0-13-443799-3
  • ISBN-13: 978-0-13-443799-6

Battle-Tested Strategies for Storing, Managing, and Sharing Android Data

“Android™ Database Best Practices goes well beyond API documentation to offer strategic advice about how to handle data in an Android application and the tools needed to develop productively. This arms the developer with a trove of solutions to nearly any problem an application may face involving data. Mastering the concepts in this book are therefore essential for any developer who wants to create professional Android applications.”

–Greg Milette, Android developer, Gradison Technologies, Inc.

This is the first guide to focus on one of the most critical aspects of Android development: how to efficiently store, retrieve, manage, and share information from your app’s internal database. Through real-world code examples, which you can use in your own apps, you’ll learn how to take full advantage of SQLite and the database-related classes on Android.

A part of Addison-Wesley’s Android™ Deep Dive series for experienced Android developers, Android Database Best Practices draws on Adam Stroud’s extensive experience leading cutting-edge app projects.

Stroud reviews the core database theory and SQL techniques you need to efficiently build, manipulate, and read SQLite databases. He explores SQLite in detail, illuminates Android’s APIs for database interaction, and shares modern best practices for working with databases in the Android environment.

Through a complete case study, you’ll learn how to design your data access layer to simplify all facets of data management and avoid unwanted technical debt. You’ll also find detailed solutions for common challenges in building data-enabled Android apps, including issues associated with threading, remote data access, and showing data to users. Extensive, up-to-date sample code is available for download at github.com/android-database-best-practices/device-database.

You will

  • Discover how SQLite database differs from other relational databases
  • Use SQL DDL to add structure to a database, and use DML to manipulate data
  • Define and work with SQLite data types
  • Persist highly structured data for fast, efficient access
  • Master Android classes for create, read, update, and delete (CRUD) operations and database queries
  • Share data within or between apps via content providers
  • Master efficient UI strategies for displaying data, while accounting for threading issues
  • Use Android’s Intents API to pass data between activities when starting a new activity or service
  • Achieve two-way communication between apps and remote web APIs
  • Manage the complexities of app-to-server communication, and avoid common problems
  • Use Android’s new Data Binding API to write less code and improve performance

Sample Content

Online Sample Chapter

Working with Databases in Android

Sample Pages

Download the sample pages (includes Chapter 5 and the Index.)

Table of Contents

Preface xv

Acknowledgments xix

About the Author xxi

Chapter 1: Relational Databases 1

History of Databases 1

The Relational Model 3

Relational Languages 9

Database Languages 14

Summary 15

Chapter 2: An Introduction to SQL 17

Data Definition Language 17

Data Manipulation Language 28

Queries 32

Summary 37

Chapter 3: An Introduction to SQLite 39

SQLite Characteristics 39

SQLite Features 39

What SQLite Does Not Support 42

SQLite Data Types 43

Summary 44

Chapter 4: SQLite in Android 47

Data Persistence in Phones 47

Android Database API 47

Strategies for Upgrading Databases 58

Database Access and the Main Thread 60

Exploring Databases in Android 61

Summary 77

Chapter 5: Working with Databases in Android 79

Manipulating Data in Android 79

Transactions 87

Running Queries 89

Cursors 91

CursorLoader 94

Summary 99

Chapter 6: Content Providers 101

REST-Like APIs in Android 101

Content URIs 102

Exposing Data with a Content Provider 102

Exposing a Remote Content Provider to External Apps 108

Content Provider Contract 112

Allowing Access from an External App 114

Implementing a Content Provider 115

When Should a Content Provider Be Used? 132

Summary 135

Chapter 7: Databases and the UI 137

Getting Data from the Database to the UI 137

Cursors as Observers 143

Accessing a Content Provider from an Activity 145

Summary 161

Chapter 8: Sharing Data with Intents 163

Sending Intents 163

Receiving Implicit Intents 166

Building an Intent 167

ShareActionProvider 173

Summary 175

Chapter 9: Communicating with Web APIs 177

REST and Web Services 177

Accessing Remote Web APIs 179

Persisting Data to Enhance User Experience 206

Android SyncAdapter Framework 207

Manually Synchronizing Remote Data 218

Summary 229

Chapter 10: Data Binding 231

Adding Data Binding to an Android Project 231

Data Binding Layouts 232

Using Data Binding to Replace Boilerplate Code 242

Data Binding Expression Language 246

Summary 247

Index 249


Submit Errata

More Information

Unlimited one-month access with your purchase
Free Safari Membership