Advanced Android in Kotlin

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

We recommend that you take the codelabs in sequence, but it's not a requirement. Each lesson includes a tutorial app with solution code in GitHub. See the course contents for a list of codelabs and their associated apps.

Prerequisites

To take the Advanced Android in Kotlin course, you must have Kotlin programming experience and know the fundamentals of how to build an Android app using the Kotlin language.

You should be familiar with all the concepts, tools, and vocabulary taught in the Kotlin Bootcamp for Programmers course as well as the Android Fundamentals in Kotlin course.

This course builds on skills taught in the Android Fundamentals in Kotlin course. Specifically, you should know how to do the following:

  • Install and use Android Studio.
  • Run apps from Android Studio on both a device and an emulator.
  • Create and use activities and fragments in Android, and understand their lifecycles.
  • Use views to create your app's user interface (UI) following Material Design guidelines.
  • Enable UI through click handlers.
  • Create layouts with ConstraintLayout using the Android Studio layout editor.
  • Implement the recommended architecture with ViewModel, LiveData, and data binding.
  • Create and use RecyclerViews with a Room database.
  • Use coroutines and WorkManager for long-running and background tasks.
  • Connect to the internet and get data.
  • Save and restore app state.

What does the course cover?

Advanced Android in Kotlin includes six lessons:

Lesson 1: Notifications

This codelab is part of a series that guides you through using in-app and push notifications.

Start Lesson 1

Lesson 2: Advanced Graphics

This codelab is part of a series that guides you through building custom views, drawing on a canvas, clipping canvas objects, and using shaders for cool effects.

Start Lesson 2

Lesson 3: Animation

This codelab is part of a series about Animation with Android.

Start Lesson 3

Lesson 4: Geo

This codelab is part of a series that guides you through adding maps to your apps.

Start Lesson 4

Lesson 5: Testing and Dependency Injection

This codelab is part of a series about writing and running tests for Android, including Test Driven Development, source sets, Robolectric, AndroidX, and testing ViewModels and LiveData. You'll also learn about dependency injection and test doubles.

Start Lesson 5

Lesson 6: Login

This codelab is part of a series that guides you through supporting login for users.

Start Lesson 6