CommonsWare’s Books
From 2008 through 2021, CommonsWare published a series of books on Android application development. All are available now under the Creative Commons BY-SA 4.0 License. All are available for download as PDF, EPUB, or MOBI/Kindle editions, and some are available to read right from your Web browser. Combined, they total over 7,500 pages of material on a wide range of subjects.
Newcomers to Android should start with either:
-
Elements of Android Jetpack, a traditional programming guide covering the basics of modern Android app development, in Java and Kotlin; or
-
Exploring Android, a series of tutorials to give you a hands-on opportunity to build an Android app in Kotlin
New to Kotlin? Consider reading Elements of Kotlin to learn the basics of Android’s primary programming language.
Second Generation
These books are for second-generation Android app development techniques, focusing on Kotlin and the 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!
FINAL Version (928 pages)
Learn MoreExploring Android
If you "learn by doing", this book contains step-by-step instructions for building an Android app, including using the Jetpack components!
FINAL Version (614 pages)
Learn MoreElements 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.
FINAL Version (264 pages)
Learn MoreElements of Kotlin
Kotlin is the programming language of choice for modern Android app development — this book will help you get up to speed!
FINAL Version (412 pages)
Learn MoreElements 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.3 (244 pages)
Learn MoreElements of Android R
2020 debuts Android 11 (a.k.a., Android R)! This book explores what is changing in Android 11 that affects developers and their apps, such as the changes in storage, new permission restrictions, data access auditing, and more!
FINAL Version (140 pages)
Learn MoreElements 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 (96 pages)
Learn MoreFirst 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 first and most comprehensive book on first-generation Android app development, covering both the basics and a wide range of advanced topics!
FINAL Version (4298 pages)
Learn MoreAndroid'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!
FINAL Version (412 pages)
Learn MoreAndroid and GraphQL
GraphQL is an alternative to REST for Web services — learn how to integrate your Android app with a GraphQL endpoint!
FINAL Version (262 pages)
Learn More