Android's Architecture Components

In 2017, Google introduced the Architecture Components library, with Google-supplied implementations of object-relational mapping (ORM) capabilities and lifecycle-aware components.

This book dives deep into the Architecture Components, showing you how they work individually and in concert. With dozens of sample projects, the book covers much of what blog posts miss, in terms of how to make this library work in practice.

Since this book was published, the Android Architecture Components were replaced by the Jetpack family of libraries. Second-generation books, including Elements of Android Jetpack and Elements of Android Room, cover these newer libraries.

This book is published in PDF, EPUB, and MOBI/Kindle formats, for use in your favorite digital book reader. Or, read directly in your Web browser! Note, though, that the Web edition will be removed from the site on or after 31 December 2022, though the downloadable formats will be available after that.


The Table of Contents

Each bullet shown below represents a chapter. Use the search field in the nav bar to search all of the CommonsWare books to see what they hold!

  • Room Basics
  • Testing Room
  • The Dao of Entities
  • Room and Custom Types
  • Room and Relations
  • The Support Database API
  • Room and Migrations
  • Lifecycles and Owners
  • LiveData
  • ViewModel
  • Other Lifecycle Owners
  • LiveData and Data Binding
  • WorkManager
  • M:N Relations in Room
  • Polymorphic Room Relations
  • LiveData Transformations
  • RxJava and Room
  • RxJava and Lifecycles
  • Packing Up a Room
  • Paging Room Data
  • LiveData and Bound Services
  • Immutability
  • The Repository Pattern
  • Introducing Model-View-Intent
  • A Deep Dive Into MVI
  • Backing Up a Room
  • Room and Full-Text Searching
  • Room and Conflict Resolution
  • Configuring SQLite Beyond Room