methods available on Android. It provides ample code examples of each storage method,
as well as a comparison of the strengths and weaknesses of each.
Chapter 2, Using a SQLite Database, takes a deeper dive into the most complex and most
commonly used form of local data storage — the SQLite database — by walking you
through the implementation of a custom SQLite database.
Chapter 3, SQLite Queries, is designed to be a cursory overview of the SQL query
language. It teaches the reader how to construct powerful database queries, which can
then be used with any SQLite database.
Chapter 4, Using Content Providers, expands upon the previous SQLite database
chapters by showing the reader how to expose his/her database to the entire Android OS
through the use of content providers. It walks the reader through a full implementation of a
content provider, and finishes with a brief discussion on benefits of making your data
Chapter 5, Querying the Contacts Table, is devoted to exploring the most widely used
content provider provided by the Android OS — the Contacts content provider. It explores
the structure of the Contacts tables, and provides examples of common queries.
Chapter 6, Binding to the UI, talks about ways the user can bind their data to the user
interface. Because of how data is typically displayed as lists, this chapter walks through
the implementations of two types of list adapters.
Chapter 7, Android Databases in Practice, tries to step away from the programming and
focus on higher-level design concepts. It talks about ways in which all the local storage
methods discussed up to this point can be used, and also highlights the downfalls of such
local methods — opening the door for the next couple of chapters, where we focus on
external data stores.
Chapter 8, Exploring External Databases, introduces the notion of using an external
database and lists some common external data stores that are available to the reader. The
chapter finishes with an example of how to set up a Google App Engine data store.
Chapter 9, Collecting and Storing Data, extends the development of the previous chapter
by talking about ways in which your application can go and collect data, which can then be
inserted into your new external database. The methods for collecting data include using
available APIs, as well as writing custom web scrapers.
Chapter 10, Bringing it Together, finishes the application we started in the previous two
chapters by showing the reader how to first create HTTP servlets, and second make HTTP
requests from the mobile application to these HTTP servlets. This chapter serves as the
culmination of the book, and shows the reader how to connect their mobile application with
their external database, and ultimately parse and display the HTTP response as a list.