This book, fully updated for Android Studio Ladybug and the new UI, teaches you how to develop Android-based applications using Java. Beginning with the basics, the book outlines how to set up an Android development and testing environment, followed by an overview of areas such as tool windows, the code editor, and the Layout Editor 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 the Android Studio environment. Chapters also cover the Android Architecture Components, including view models, lifecycle management, Room database access, content providers, the Database Inspector, app navigation, live data, and data binding. More advanced topics, such as intents, are also covered, such as touchscreen handling, gesture recognition, and the recording and playback of audio. This book edition also covers printing, transitions, and foldable device support. The concepts of material design are also