Introduction to the architecture, API and techniques used to create robust, high-performance applications for Android mobile devices. An overview of the most common tools and techniques for writing Android applications. Other topics include user interfaces, local storage, maps, multimedia, content providers, sensors, and user events. Storage strategies for persistent information are introduced, including the use of SQLite database features. Introduction to Kotlin programming. Intended for students with previous Java programming experience.