Google Developers Codelabs provide a guided, tutorial, hands-on coding experience. Most codelabs will step you through the process of building a small application, or adding a new feature to an existing application. They cover a wide range of topics such as Android Wear, Google Compute Engine, ARCore, and Google APIs on iOS.
Codelab tools on GitHubLearn Android XR Fundamentals: Part 1 - Modes and Spatial Panels
33 minutes
Updated February 14, 2025
In this codelab, you’ll learn about the unique user experiences that are made possible by the XR form factor. Then, you’ll learn the fundamentals of how apps can be adapted to make the most of running on an Android XR headset by using the composables provided by the Jetpack Compose XR library.
Build an Android app with Firebase and Jetpack Compose
55 minutes
Updated January 31, 2025
Build features of a to-do list Android app by adding authentication, performance monitoring, a declarative UI, and feature flagging – all with Firebase and Jetpack Compose.
Build a Fast Checkout Experience on Android with Google Pay
28 minutes
Updated December 20, 2024
Google Pay API gives users the opportunity to pay everywhere, using the payment information stored in their Google Accounts. In this lab, you make use of Google Pay's client library for Android to improve the checkout experience of a simplified
Jetpack Compose Navigation
1 hour 39 minutes
Updated December 10, 2024
In this codelab, you’ll learn all about the basics of Navigation in Compose.
Basic layouts in Compose
54 minutes
Updated December 9, 2024
In this codelab, you’ll learn how to implement real-world designs with the composables and modifiers that Compose provides out of the box.
Drag and Drop in Compose
35 minutes
Updated October 30, 2024
Learn to enable drag and drop in compose using modifiers.
Introduction to Compose for TV
1 hour 21 minutes
Updated October 15, 2024
Learn the basics of Compose for TV and create two screens that are commonly available in TV apps.
Compose for Wear OS Codelab
57 minutes
Updated October 8, 2024
In this codelab, you’ll learn how to translate your Compose knowledge to wearables with the new Compose for Wear OS. By the end, you’ll have created both simple and advanced composables in an app for your wrist.
Accessibility in Jetpack Compose
39 minutes
Updated September 24, 2024
In this codelab, you’ll learn how to make your Compose app more accessible. See how to increase touch targets, add content descriptions, click labels, custom actions, and more.
Migrating to Jetpack Compose
51 minutes
Updated September 24, 2024
In this codelab, you’ll learn how to migrate parts of a screen in the View system to Jetpack Compose.
Add a map to your Android app (Kotlin with Compose)
Updated September 18, 2024
This codelab teaches you how to integrate Maps SDK for Android with your app and use its core features by building an app that displays a map of mountains in Colorado, USA, using various types of markers. Additionally, you'll learn to draw other
Build adaptive apps with Jetpack Compose
36 minutes
Updated September 5, 2024
In this codelab you’ll learn how to build adaptive apps for phones, tablets, and foldables, also learning about reachability. You’ll also learn best practices for Material 3 adaptive components.
Add keyboard, mouse, trackpad, and stylus support with Jetpack Compose
1 hour 9 minutes
Updated July 26, 2024
Learn how to develop your apps to support keyboard and pointing devices, such as mouse and trackpad, with Compose.
Add Compose to a View-based app
Updated June 28, 2024
In this codelab, you learn how to migrate parts of a screen in the View system to Jetpack Compose.
Build an app with an adaptive layout
Updated June 28, 2024
Learn how to adapt your app for large screens by implementing one of the canonical layout patterns.
Build a simple app with text composables
Updated June 18, 2024
Learn how to build a simple app with composable functions.
Write unit tests for ViewModel
Updated June 18, 2024
Learn how to test the ViewModel to verify the correctness, functional behavior, and usability of your app.
Background Work with WorkManager
Updated June 4, 2024
The WorkManager API for Android makes working in the background simple. WorkManager can create tasks that are queryable, reusable, and chainable. WorkManager is the recommended task scheduler on Android. This codelab will teach you the ins and outs of WorkManager: everything from writing a simple job to more complex chained jobs.
Build an adaptive app with dynamic navigation
Updated May 31, 2024
Learn how to adapt your app for large screens with adaptive navigation ui patterns.
Introduction to Coroutines in Android Studio
Updated May 22, 2024
Learn to use Kotlin coroutines inside an Android app and how to test coroutines.
Persist data with Room
Updated May 17, 2024
Learn how to use Room in your Android Kotlin apps. Room is a persistence database library that’s part of Android Jetpack. Room is an abstraction layer over SQLite. Room provides convenient APIs to set up, configure, and query the database.
Read and update data with Room
Updated May 17, 2024
Learn how to use Room to read and update data in your Android Kotlin apps. Room is a database library that’s part of Android Jetpack. Room takes care of many of the chores of setting up and configuring a database, and makes it possible for your app to interact with the database using ordinary function calls.
Practical performance problem solving in Jetpack Compose
50 minutes
Updated May 13, 2024
Make your Compose app run fast by analyzing system traces and fixing common lag causes.
Get data from the internet
Updated May 10, 2024
Learn how to use community-developed libraries to connect to a web service to retrieve and display data in your Android Kotlin compose app. Also learn how to handle potential network errors.
Add repository and Manual DI
Updated May 10, 2024
Learn how to further improve the architecture of the Mars Photos app by separating the network calls into a repository.
Test the Cupcake App
Updated May 8, 2024
Learn how to test the Navigation component and maximize the amount of code that is tested.
Add adaptive layouts to a view-based Android app with Compose
1 hour 1 minute
Updated May 7, 2024
Learn how to add adaptive layouts to a view-based Android app with Jetpack Compose.
Navigate between screens with Compose
Updated May 7, 2024
Add the Navigation component to the Cupcake app to organize the flow of the app, navigate and pass data between different screens.
Simple Animation with Jetpack Compose
Updated May 7, 2024
Learn how to add a simple spring animation to your Compose app.
Stages of the Activity lifecycle
Updated April 27, 2024
In this codelab, you learn about the activity lifecycle and logging.
Intro to state in Compose
Updated April 26, 2024
Learn about state, and how it can be used and manipulated by Jetpack Compose.
Material Theming with Jetpack Compose
Updated April 26, 2024
Learn how to add Material Theming to an app, including color, shape, and typography.
Build a complete app with Relay and Jetpack Compose
42 minutes
Updated February 6, 2024
Learn how to integrate Relay into Compose apps and accelerate your design-to-code workflow.
Load and display images from the internet
Updated February 1, 2024
In this codelab, you use the Coil library to load and display photos from the internet in your Android Compose app.
Jetpack Compose basics
1 hour 5 minutes
Updated January 18, 2024
In this codelab, you’ll learn the basics of Compose.
Introduction to Coroutines in Kotlin Playground
Updated January 16, 2024
Within Kotlin Playground, learn to use Kotlin coroutines to write asynchronous code.
Theming in Compose with Material 3
31 minutes
Updated January 3, 2024
The purpose of this codelab is to demonstrate theming in Jetpack Compose with new Material Design 3 and Material You implementation.
Advanced State and Side Effects in Jetpack Compose
41 minutes
Updated December 22, 2023
In this codelab, you’ll learn advanced concepts of state and side effects in Jetpack Compose. See how to create a state holder for complex stateful composables, how to create coroutines and call suspend functions from Compose code, and how to trigger side effects to accomplish different use cases.
Android App Resizing
Updated December 14, 2023
In this Jetpack Compose-based codelab, you’ll optimize an Android app to demonstrate best practices for free-form resizing. This includes using manifest compatibility, configuration change implications, and maintaining continuity through resizing.
State in Jetpack Compose
50 minutes
Updated November 23, 2023
In this codelab you’ll learn about how to build rich, interactive, Compose applications by managing state.
Animating elements in Jetpack Compose
20 minutes
Updated November 23, 2023
In this codelab, you’ll learn how to use some Compose Animation APIs.
Testing in Jetpack Compose
38 minutes
Updated November 21, 2023
In this codelab you’ll learn about testing UIs created with Jetpack Compose. You will write your first tests while learning about testing in isolation, debugging tests, semantics trees and synchronization.
Generics, objects, and extensions
Updated September 21, 2023
Gain a high-level introduction to more Kotlin concepts such as generics, enum classes, data classes, objects, and scope functions which you’ll be using in your Compose code.
Project: Create a Business Card app
Updated September 21, 2023
Learn how to create an Android app that showcases your business card.
ViewModel and State in Compose
Updated September 21, 2023
In this codelab, you learn how to use a ViewModel, one of the architecture components. You will implement a ViewModel to retain the app state during configuration changes.
Practice: Compose Basics
Updated September 21, 2023
Apply the concepts of basic UI composables to implement screens for the given problems.
Theming in Compose with Material 3
31 minutes
Updated May 3, 2023
The purpose of this codelab is to demonstrate theming in Jetpack Compose with new Material Design 3 and Material You implementation.