Advanced Android with Kotlin (Udacity)

Offered by Udacity, Google,
Advanced Android with Kotlin (Udacity)

Develop Feature-Rich Android Apps with the Kotlin Programming Language. Go beyond the basics of building an Android app with "Advanced Android with Kotlin". This course teaches you how to add a range of advanced features to your app, starting with best practices for using Android's notification system.

Class Deals by MOOC List - Click here and see Udacity's Active Discounts, Deals, and Promo Codes.

You'll learn how to create and clip custom views, draw directly to a canvas, and add animations to your apps. You'll also add maps to your apps and learn to style them. Testing an app is as important as building it, so you'll learn to test your app to catch and fix bugs so that users never see them. Finally, you'll learn how to let users login to your app with their existing accounts—you'll be surprised how little code it takes.

Kotlin is an official language for Android development, and can be used in a variety of other applications, from back-end development to data analysis. It is an open-source, modern programming language that lets developers use both object-oriented and functional programming techniques. It is concise, safe, and fully interoperable with Java. The community of Kotlin developers is growing rapidly, with major companies like Netflix, Pinterest, and Google using Kotlin.
This free course was developed by Kotlin experts at Google, and will teach you how to add a range of advanced features to your app, covering topics such as notifications, maps, testing, identity management, and more.

What You Will Learn

Lesson 1
Notifications

  • Send messages to users using notifications
  • Design and style notifications
  • Add buttons and actions to notifications
  • Send push messages using Firebase Cloud Messaging

Lesson 2
Advanced Graphics

  • Create custom views for your app
  • Create and display transformed and clipped regions to the screen
  • Build an app that allows users to paint directly on the screen

Lesson 3
Animation

  • Use animations to draw attention to important UI elements and beautiful designs
  • Animate UI elements with property animations
  • Use declarative XML with MotionLayout to coordinate animations across multiple views

Lesson 4
Geo

  • Add Google Maps to your Android apps
  • Style maps to fit your design
  • Enable location services and tracking

Lesson 5
Testing

  • Learn how to test your app before distribution to avoid crashes or unpredicatable behavior
  • Write and run tests for Android including AndroidX Test
  • Test your whole app: UI
  • data
  • and code using coroutines
  • Room
  • Espresso
  • and data binding

Lesson 6
Login

  • Implement user login and identity management for your app using the open source library FirebaseUI
  • Enable login and logout for your app's users
  • Control navigation in your app based on whether a user is logged in

Prerequisites and Requirements
General Experience: Comfortable with Object Oriented Programming and Android fundamentals with Kotlin.

Go to Class
MOOC List is learner-supported. When you buy through links on our site, we may earn an affiliate commission.

Related Courses

HTML5 Canvas (Udacity) Udacity
Udacity

HTML5 Canvas (Udacity)

From Pixels to Animation! Canvas is an HTML5 element which gives you drawable surface inside your web pages you can control with JavaScript. Powerful enough to use for compositing images and even creating games. In this course, through several sample projects, you’ll learn how to use the canvas; how to make compositions using shapes, images, and text; how to create effects and filters on images and how to create animations.

Self Paced
Self-Paced
UX Design for Mobile Developers (Udacity) Udacity
Udacity,Google

UX Design for Mobile Developers (Udacity)

Learn to Design a 5-Star Android App. This course is optimized for the developer who is looking to efficiently learn the most important design techniques that will help them make better apps (with a focus on mobile/Android). This is a UX design course built for current (and aspiring) mobile developers. In this short course, you'll step back from your IDE and dive into the techniques that great designers use to plan and prototype amazing apps before any code is written.

Self Paced
Self-Paced
Learn to code with AI (Coursera) Coursera
Scrimba

Learn to code with AI (Coursera)

Imagine waking up tomorrow as a web developer. What would you want to build? With AI tools like ChatGPT, you're already a developer, regardless of your experience, if you know how to work with them. So in this course, you'll build functional, interactive front-end projects while learning how to write effective prompts and debug and refine your code with the help of AI.

Jun 24th 2026
2 Weeks
Using Python to Interact with the Operating System (Coursera) Coursera
Google

Using Python to Interact with the Operating System (Coursera)

By the end of this course, you’ll be able to manipulate files and processes on your computer’s operating system. You’ll also have learned about regular expressions -- a very powerful tool for processing text files -- and you’ll get practice using the Linux command line on a virtual machine. And, this might feel like a stretch right now, but you’ll also write a program that processes a bunch of errors in an actual log file and then generates a summary file. That’s a super useful skill for IT Specialists to know.

Jun 23rd 2026
5-12 Weeks
Build Native Mobile Apps with Flutter (Udacity) Udacity
Udacity

Build Native Mobile Apps with Flutter (Udacity)

Learn from experts at Google how to use Flutter to craft high-quality native interfaces on iOS and Android devices in record time. In this course, you'll learn how to use Flutter to quickly develop high-quality, interactive mobile applications for iOS and Android devices. Whether you’re just getting started with mobile app development, or experienced with other mobile app frameworks, you’ll enjoy the high-velocity development and quality apps that Flutter enables.

Self Paced
Self-Paced
Object Oriented Programming in Java (Udacity) Udacity
Udacity

Object Oriented Programming in Java (Udacity)

Build Interactive Java Programs. This course will introduce you to some of the most powerful programming concepts in Java, including: objects, inheritance and collections. You will learn how to use these object-oriented programming concepts in code examples, discover how these concepts are used in applications that require user input, and understand the benefits of mastering these concepts in Java.

Self Paced
Self-Paced
Swift for Developers (Udacity) Udacity
Udacity

Swift for Developers (Udacity)

Your Next Programming Language. This course offers a quick practical introduction to Swift basics, including types, variables, constants, and functions. It combines syntax exercises with hands-on iOS development in Xcode. By the end of the course students will build their first iOS app, an app that creates and displays song lyrics customized to user input.

Self Paced
Self-Paced