The objective of this book is to teach the skills necessary to develop Android applications using Android Studio and the Android 5 Software Development Kit (SDK). Note: This is the Android 5 edition of the book. For coverage of the Android 6 SDK and the latest version of Android Studio we recommend Android Studio Development Essentials: Android 6 Edition. Beginning with the basics, this book provides an outline of the steps necessary to set up an Android Studio based development and testing environment. An overview of Android Studio is included covering areas such as tool windows, the code editor and the user interface Designer tool. An introduction to the architecture of Android is followed by an in-depth look at the design of Android applications and user interfaces using Android Studio. More advanced topics such as database management, content providers and intents are also covered, as are touch screen handling, gesture recognition, camera access and the playback and recording of both video and audio. This edition of the book also covers features introduced with Android 4.4 including printing, transitions and cloud-based file storage. In addition to covering general Android development techniques, the book also includes Google Play specific topics such as implementing maps using the Google Maps Android API, in-app billing and submitting apps to the Google Play Developer Console. Chapters also cover advanced features of Android Studio such as Gradle build configuration and the implementation of build variants to target multiple Android device types from a single project code base. Assuming you already have some Java programming experience, are ready to download Android Studio and the Android SDK, have access to a Windows, Mac or Linux system and ideas for some apps to develop, you are ready to get started.