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

Java Programming Basics (Udacity) Udacity
Udacity

Java Programming Basics (Udacity)

Take your first steps towards becoming a Java developer! Learn Java syntax and create conditional statements, loops, and functions. Taking this course will provide you with a basic foundation in Java syntax, which is the first step towards becoming a successful Java developer. You’ll learn how computers make decisions and how Java keeps track of information through variables and data types.

Self Paced
Self-Paced
Creative Programming for Digital Media & Mobile Apps (Coursera) Coursera
University of London,Goldsmiths, University of London

Creative Programming for Digital Media & Mobile Apps (Coursera)

This course is for anyone who would like to apply their technical skills to creative work ranging from video games to art installations to interactive music, and also for artists who would like to use programming in their artistic practice. This course will teach you how to develop and apply programming skills to creative work. This is an important skill within the development of creative mobile applications, digital music and video games. It will teach the technical skills needed to write software that make use of images, audio and graphics, and will concentrate on the application of these skills to creative projects. Additional resources will be provided for students with no programming background.

Sep 14th 2026
5-12 Weeks
Swift for Beginners (Udacity) Udacity
Udacity

Swift for Beginners (Udacity)

Your First Programming Language. In this course, you’ll begin learning Swift, Apple's programming language for building iOS applications. You'll start with fundamentals and work your way towards understanding all the core principles necessary to get started creating your first app. At the end of the course, you'll complete a problem set of exercises designed to challenge your understanding of Swift and give you the opportunity to apply what you've learned.

Self Paced
Self-Paced
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
Android Interview Prep (Udacity) Udacity
Udacity,Google

Android Interview Prep (Udacity)

Confidently take on the tech interview. This course is an excellent way to prepare for technical interviews. You’ll experience a mock interview, and review detailed analysis on how to field key industry questions. You’ll work through common Android Developer interview topics ranging from explicit and implicit intents to designing a min stack, and you’ll learn best practices for behavioral questions and whiteboard problems.

Self Paced
Self-Paced
Data Wrangling with MongoDB (Udacity) Udacity
Udacity,MongoDB University

Data Wrangling with MongoDB (Udacity)

In this course, we will explore how to wrangle data from diverse sources and shape it to enable data-driven applications. Some data scientists spend the bulk of their time doing this! Students will learn how to gather and extract data from widely used data formats. They will learn how to assess the quality of data and explore best practices for data cleaning. We will also introduce students to MongoDB, covering the essentials of storing data and the MongoDB query language together with exploratory analysis using the MongoDB aggregation framework.

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
Intro to AJAX (Udacity) Udacity
Udacity

Intro to AJAX (Udacity)

Making Asynchronous Requests with jQuery. In this course you will learn how to make asynchronous requests with JavaScript (using jQuery’s AJAX functionality), and gain a better understanding of what’s actually happening when you do so. You will also learn how to use data APIs so you can take advantage of freely accessible data in your applications, including photo results, news articles and up-to-date data about the world around us.

Self Paced
Self-Paced