Welcome to the Kotlin Android Fundamentals course, created by the Google Developers Training team. This course provides a series of codelabs that lead you through the fundamentals of building Android apps using Kotlin. In this course, you learn basic Kotlin Android programming concepts and build various apps.

We recommend that you take the codelabs in sequence, but it's not a requirement.

To learn about other Android training created by the Google Developers Training team, visit Google Developers Training: Android.


To take the Kotlin Android Fundamentals course, we recommend that you have at least 2 years of experience in a full-fledged object-oriented programming language such as Java, C++, or Smalltalk.

You should be familiar with all the concepts, tools, and vocabulary taught in Udacity's free Kotlin Bootcamp for Programmers course.

You should also be comfortable navigating GitHub and familiar with the following concepts:

It also helps to have an idea of what functional programming is, but it's not required.

Starter and solution code

As you work through the codelabs in the Kotlin Android Fundamentals course, you create apps. The source code for starter apps and solution code for the apps that you create is in GitHub.

Kotlin Android Fundamentals includes the following lessons:

Each lesson contains several codelabs.

Lesson 1: Build your first app

This lesson teaches you how to set up Android Studio to use Kotlin and how to build apps, starting with "Hello World" and moving up to an app that uses image files and a click handler. You learn how Android projects are structured, how to use and modify views in your Kotlin Android app, and how to make sure your apps are backward-compatible. You also learn about API levels and the Android Jetpack libraries.

Lesson 1 includes the following codelabs:

Lesson 2: Layouts

In this lesson, you learn how to use the Android Studio Layout Editor to create linear layouts and constraint layouts. You create apps that get and display user input, respond to user taps, and change the visibility and color of views. This lesson also teaches you how to use data binding to eliminate inefficient calls to findViewById().

Lesson 2 includes the following codelabs:

Lesson 3: Navigation

In this lesson, you learn how to create useful navigation in an app. You create a fragment and add it to an app, then add navigation to the app using the Android Studio navigation graph. You add a navigation drawer and an options menu to your app, and you work with the app's back stack, changing the destination of the system Back button. Finally, you learn how to invoke an external activity from within the app.

Lesson 3 includes the following codelabs:

Start the Kotlin Android Fundamentals course by taking the first codelab, 1.0 Install Android Studio.