This repository contains the source code that was discussed in Android™ Database Best Practices. The code resides in a Gradle project that can be imported into Android™ Studio and run on a device.
Battle-Tested Strategies for Storing, Managing, and Sharing Android Data
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 Android’s SQLite database and related classes.
The newest title in 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.
First, Stroud reviews the core database theory and SQL techniques you need to efficiently build, manipulate, and read SQLite databases. Next, 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.
With this indispensable guide, you will:
- Discover how Android’s lightweight 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
All the code is licensed under the Apache 2.0 license. See LICENSE.txt for license details.