Free Course

Developing Android Apps with Kotlin


Create concise, secure and performant apps with Kotlin

Nanodegree Program

Android Developer


Become an Android Developer

Accelerate your career with the credential that fast-tracks you to job success.

About this Course

Learn to architect and develop Android apps in the Kotlin programming language using industry-proven tools and libraries. With these techniques you'll create apps in less time, writing less code, and with fewer errors.

This course was developed by Google together with Udacity. The course gives you hands on experience as you build real Android apps using industry best practices, with modern app architecture. You'll learn to use Android Jetpack components such as Room for databases, Work Manager for background processing, the new Navigation component, and more. You'll use key Kotlin features to write your app code more quickly and concisely.

Learning to develop on Android is much more than learning APIs and shortcuts. It's training your brain to think like a mobile developer.

Watch Trailer
Course Cost
Approx. 2 months
Skill Level
Included in Product

Rich Learning Content

Taught by Industry Pros

Interactive Quizzes

Self-Paced Learning

Course Leads

Lyla Fujiwara

Lyla Fujiwara


Dan Galpin

Dan Galpin


Aleks Haecky

Aleks Haecky


Sean McQuillan

Sean McQuillan


Asser Samak

Asser Samak


What You Will Learn

lesson 1

Build Your First App

  • Explore the basics of Android, such as creating text, images, and interactive buttons
  • Set up the development environment and create a Dice Roller Android app
  • Navigate the Main Map Anatomy of an Android app
lesson 2


  • Learn different kinds of views and resources
  • Explore arranging elements with the Android Studio's Layout Editor
  • Connect views with data through data binding
lesson 3

App Navigation

  • Learn how to build apps that contain multiple screens known as destinations
  • Use Android Studio tools to create and visualize a map, or graph, of destinations that show navigation paths in your app
  • Learn the navigation patterns and user interface that Android users expect to see, so that your app will be intuitive and familiar
lesson 4

Activity & Fragment Lifecycle

  • Learn all about the Android Activity Lifecycle
  • Create a one-screen app called Dessert pusher
  • Debug common issues through an understanding of lifecycles
lesson 5

App Architecture (UI Layer)

  • Learn one way to structure an Android app and the benefits that come with this design
  • Learn about two classes in the lifecycle library: ViewModel and LiveData
lesson 6

App Architecture (Data Layer)

  • Build a Sleep Quality Tracker app and use a database to store the data over time
  • Use SQLite to manage your database
lesson 7


  • Use RecyclerView to make significant improvements in the UI of your app
lesson 8

Connect to the Internet

  • Build an application that connects to an internet server to retrieve and display live data
  • Simplify fetching data and images, to make sure the app reasonably conforms to networking and image loading best practices
lesson 9

Behind the Scenes

  • Learn how to implement offline caching by building an app that lets users watch DevByte videos
  • Take an online-only app and transform it to work offline by adding offline caching
lesson 10

Designing for Everyone

  • Improve your app design to support multiple languages as well as support multiple device sizes and orientations
  • Learn how to make your app accessible for users who might need assistance navigating, like supporting talkback and push button navigation

Prerequisites and Requirements

To succeed in this course, you should have experience navigating GitHub, and be comfortable using a Modern IDE, and the OOP language. You should be familiar with threads and concurrency, and with modular app architectures.

Some Kotlin experience is also recommended. You should be comfortable with Kotlin syntax including: nullable and non-nullable variables, methods with default and variable arguments, data classes, object expressions, lambdas and extensions.

Finally, you’ll need:

  1. Reliable internet connection to download required software and libraries
  2. Android Studio 3.2 or higher
  3. A GitHub account and understanding on how to use GitHub

See the Technology Requirements for using Udacity.

Why Take This Course

In this free course—developed by experts at Google—you will learn the fundamentals of building Android applications using Kotlin. The course covers architecture components, multi-screen navigation, data persistence, RESTful APIs and Material Design. By the end of the course, you’ll be able to create well-designed Android applications using Kotlin that can connect to the internet, store data and navigate between screens.

Kotlin 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. Kotlin is an official language for Android development and the community of Kotlin developers is growing rapidly, with major companies like Netflix, Pinterest, and Google using Kotlin.

What do I get?
Instructor videosLearn by doing exercisesTaught by industry professionals