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

Intro to jQuery (Udacity) Udacity
Udacity

Intro to jQuery (Udacity)

Manipulating Websites with Ease. jQuery is the most popular JavaScript library today, in use by over 60% of the top 100,000 most visited websites. This course will teach you how to use jQuery’s core features - DOM element selections, traversal and manipulation. You'll also learn how to read and make sense of jQuery's documentation, making it easy for you to go beyond the methods taught in this class and take advantage of jQuery's full array of features!

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

Objective-C for Swift Developers (Udacity)

This course is designed to teach students how to understand and identify the differences between the Objective-C and Swift programming languages, and especially, how to rewrite from the former to the latter. Understanding communications between the two languages—called "interoperability"—is becoming more and more important for developers, particularly as we prepare for the arrival of Swift 3.0.

Self Paced
Self-Paced
Introduction à la programmation orientée objet (en Java) (Coursera) Coursera
École Polytechnique Fédérale de Lausanne

Introduction à la programmation orientée objet (en Java) (Coursera)

Ce cours introduit la programmation orientée objet (encapsulation, abstration, héritage, polymorphisme) en l'illustrant en langage Java. Il présuppose connues les bases de la programmation (variables, types, boucles, fonctions, ...). Il est conçu comme la suite du cours « Initiation à la programmation (en Java) ».

Aug 16th 2026
5-12 Weeks
Programming Languages, Part A (Coursera) Coursera
University of Washington

Programming Languages, Part A (Coursera)

This course is an introduction to the basic concepts of programming languages, with a strong emphasis on functional programming. The course uses the languages ML, Racket, and Ruby as vehicles for teaching the concepts, but the real intent is to teach enough about how any language “fits together” to make you more effective programming in any language -- and in learning new ones.

Aug 10th 2026
5-12 Weeks
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
JavaScript and the DOM (Udacity) Udacity
Udacity

JavaScript and the DOM (Udacity)

Dynamically control the browser. JavaScript is an extremely powerful programming language. One place where its power truly shines is using it to control a web page. Through this course, you'll learn about the Document Object Model (DOM), how it's created, and what capabilities it provides. Then you'll use JavaScript and the DOM to add, delete, or alter page content; control page styling, and respond to user actions.

Self Paced
Self-Paced
Intro to JavaScript (Udacity) Udacity
Udacity

Intro to JavaScript (Udacity)

Learn the fundamentals of JavaScript, the most popular programming language in web development. JavaScript is the most popular programming language for both front-end and back-end web development. Applications for JavaScript span from interactive websites to the Internet of Things, making it a great choice for beginners and experienced developers looking to learn a new programming language.

Self Paced
Self-Paced
Firebase Analytics: Android (Udacity) Udacity
Udacity,Google

Firebase Analytics: Android (Udacity)

Improve your apps with better user data. In this course, you’ll learn how to grow an app's user base using Firebase Analytics, a free and unlimited analytics solution. You'll be able to learn who your users are and how they interact with your app. You can then use this information to make informed decisions to improve your app, such as how difficult to make a level in a game, where to place an advertisement, or what products to stock.

Self Paced
Self-Paced