For many people, smartphones have become an extension of themselves. Now running on over
2 billion monthly-active devices, Android is the most common smartphone operating system in use
world-wide, with users installing an average of 50 apps each, resulting in over 94 billion apps downloaded
from the Play app store in 2017 alone.
Ubiquitous and indispensable, smartphones are so advanced and personal that studies have shown
people become anxious if they misplace their device, lose connectivity, or run low on battery.
In the 10 years since launching in 2008, Android has expanded beyond mobile phones to become a
development platform for a wide range of hardware, with 24,000 devices from over 1,300 brands,
including everything from tablets to televisions, watches, cars, and Internet of Things (IoT) devices.
Over the same period, there have been 28 platform and SDK releases.
These innovations, combined with the size of the ecosystem, provide unparalleled opportunities for
developers to create innovative new applications for a global audience of users.
Android offers an open platform for mobile application development. Without artificial barriers, Android
developers are free to write apps that take full advantage of an incredible range of devices. Using Google
Play for distribution, developers can distribute free and paid applications to compatible Android devices
globally.
This book is a hands-on guide to building Android applications for all Android devices. It’s written
based on version 8.1 of the Android SDK, using Android Studio 3.1. Chapter by chapter, it takes
you through a series of sample projects, each introducing new features and techniques to get the
most out of Android. It covers all the basic functionality to get started, as well as the information
for experienced mobile developers to take full advantage of the features of Android, to enhance
existing products or create innovative new ones.
The Android team releases a new major platform every year, a new version of Android Studio
every few months, and incremental changes to Jetpack, such as the support library and Android
Architecture Components, many times each year. With such rapid release cycles, there are regular
changes, additions, and improvements to the tools, platform APIs, and development libraries you’ll
use—and which are described in this book. To minimize the impact of these changes, the Android
engineering team works hard to ensure backward compatibility.
However, future releases will date some of the information provided in this book, and not all active
Android devices will be running the latest platform release. To mitigate this, wherever possible, we
have used backward-compatible support libraries, and included details on which platform releases
support the functionality described—and which alternatives may exist to provide support for users
of devices running earlier platforms.
Further, the explanations and examples included will give you the grounding and knowledge needed
to write compelling mobile applications using the current SDK, along with the flexibility to quickly
adapt to future enhancements.
1