CommonsWare’s Books

These are all of the books that are part of the Warescription! Subscribers can read these online or download PDF, EPUB, or MOBI/Kindle editions for reading offline.

Newcomers to Android should start with either:

New to Kotlin? Consider reading Elements of Kotlin to learn the basics of Android’s primary programming language.

Also, you can use the search field in the navbar above to search the entire catalog for terms that interest you!

Second Generation

These books are for second-generation Android app development techniques, focusing on Kotlin and the Android Jetpack:

Exploring Android
Exploring Android

If you "learn by doing", this book contains step-by-step instructions for building an Android app, including using the Architecture Components!

Version 1.2 (2020-07-20, 572 pages)

Learn More
Elements of Android Jetpack
Elements of Android Jetpack

If you are new to Android app development — or are new to some newer techniques — this book will walk you through the core steps for building an app!

Version 1.0 (2020-06-28, 896 pages)

Learn More
Elements of Kotlin Coroutines
Elements of Kotlin Coroutines

Coroutines is an important part of the Kotlin ecosystem, offering a native form of reactive programming. In this book, we explore coroutines, from simple suspending functions through flows and channels, to see how you can apply them in your app development.

Version 0.2 (2020-06-16, 236 pages)

Learn More
Elements of Android R
Elements of Android R

2020 debuts Android 11 (a.k.a., Android R)! This book explores what is changing in Android R that affects developers and their apps, such as the changes in storage, new permission restrictions, data access auditing, and more!

Version 0.2 (2020-05-04, 112 pages)

Learn More
Elements of Android Room
Elements of Android Room

Room is Google's object wrapper around SQLite databases, for a better API with reactive options. As part of the Jetpack, Room is part of Google's recommended stack for Android app development. This book will show you how to use Room, from basics to advanced techniques.

Version 0.1 (2020-01-12, 120 pages)

Learn More
Elements of Kotlin
Elements of Kotlin

Kotlin is the programming language of choice for modern Android app development — this book will help you get up to speed!

Version 0.2 (2019-08-05, 346 pages)

Learn More
Elements of Android Q
Elements of Android Q

2019 has given us a new Android version, Android 10 (code-named "Q")! This book explores what is changing in Android Q that affects developers and their apps, such as the lockdown of external storage.

FINAL Version (2019-11-11, 96 pages)

Learn More


First Generation

These books profiled the first-generation Android app development techniques, using Java and the Android Support Library. They are here for background material on specialized topics, but newcomers to Android should focus on the second-generation books listed earlier on this page.

The Busy Coder's Guide to Android Development
The Busy Coder's Guide to Android Development

The first and most comprehensive book on first-generation Android app development, covering both the basics and a wide range of advanced topics!

Version FINAL (2018-08-13, 4298 pages)

Learn More
Android's Architecture Components
Android's Architecture Components

This book covers Google's Architecture Components family of libraries, from Room and ViewModel to LiveData and how they integrate with classic Android app development!

Version FINAL (2019-01-22, 412 pages)

Learn More
Android and GraphQL
Android and GraphQL

GraphQL is an alternative to REST for Web services — learn how to integrate your Android app with a GraphQL endpoint!

Version FINAL (2017-08-30, 262 pages)

Learn More