Android codelab'leri
(Desteği sonlandırıldı) Kotlin'e dönüştürme
53 dakika
Updated 6 Şubat 2025
Bu codelab'de, Java kodunuzu Kotlin'e nasıl dönüştüreceğinizi öğreneceksiniz.
Activity Recognition Transition API Codelab
31 dakika
Updated 6 Şubat 2025
Uygulamanızda güçlü bağlamsal özellikler oluşturmak için Activity Recognition Transition API'yi nasıl kullanacağınızı öğrenin
Makine Öğrenimi Kiti ve CameraX ile Metin Tanıma, Tanımlama ve Metin Çevirme: Android
Updated 6 Şubat 2025
Bu codelab'de, ML Kit ile 59 dildeki metinleri tanımak, dili tespit etmek ve çevirmek için cihaz üzerinde makine öğrenimi kullanan bir Android uygulaması oluşturacaksınız. Ayrıca, bu görevleri gerçek zamanlı kamera feed'inden gerçekleştirmek için CameraX kitaplığını nasıl entegre edeceğinizi de öğreneceksiniz.
Add Gemini capabilities to your Android app
Updated 31 Mart 2025
Learn how to add a simple Gemini API feature to an Android app with Vertex AI for Firebase.
Create a widget with Glance
Updated 28 Mart 2025
In this codelab, you learn how to add Glance widgets to the SociaLite app.
Add predictive back animations
28 dakika
Updated 19 Mart 2025
In this codelab, you learn how to add predictive back animations to the SociaLite app.
Build a list-detail layout with activity embedding and Material Design
1 saat 22 dakika
Updated 5 Mart 2025
Activity embedding enables activity-based apps to support two-pane layouts on large screens with no code refactoring. You add some dependencies, create an XML configuration file, implement an initializer, and make a few additions to the app manifest. Or, if you prefer working in code, you can make a few Jetpack API calls from the onCreate() method of the main activity. In this codelab, you will use both the XML and API development approaches to update an activity-based app to a list-detail, two-pane layout.
Your First Health Connect Integrated App
1 saat 30 dakika
Updated 27 Şubat 2025
In this Codelab, you’ll build a health and fitness app that supports reading and writing to Health Connect.
Learn Android XR Fundamentals: Part 1 - Modes and Spatial Panels
33 dakika
Updated 14 Şubat 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.
Android Basics with Compose
Updated 14 Ocak 2025
Learn the basics of building Android apps with Jetpack Compose, the recommended UI toolkit for building Android apps
Engage Wear OS users in new ways with the Ongoing Activity API
30 dakika
Updated 9 Ocak 2025
With the Ongoing Activity API in Wear, developers can engage users from the watch face as well as the app launcher with minimal amount of code and allow those users to jump back into the app for important activities with a simple tap.
Use SQL to read and write to a database
Updated 9 Ocak 2025
Learn the core concepts of relational databases and learn to read and manipulate a database using SQL.
Build a Fast Checkout Experience on Android with Google Pay
28 dakika
Updated 20 Aralık 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
(Deprecated) Build a musical game using Oboe
1 saat 6 dakika
Updated 11 Aralık 2024
Learn how to build a musical game with the Oboe library.
(Deprecated) Automated Accessibility Testing using Espresso
3 dakika
Updated 11 Aralık 2024
In this codelab, you’ll learn the fundamentals of accessibility testing using Espresso.
(Deprecated) Advanced Android in Kotlin 05.3: Testing Coroutines and Jetpack integrations
Updated 11 Aralık 2024
In this codelab, you learn how to test coroutines, ViewModel scoped coroutines, and Room, and implement end-to-end testing for your Kotlin Android app.
(Deprecated) Advanced Android in Kotlin 05.2: Introduction to Test Doubles and Dependency Injection
Updated 11 Aralık 2024
In this codelab you’ll learn to set up manual dependency injection, a service locator, and how to use fakes and mocks in your Android Kotlin apps. In doing so, you’ll learn how to test a repository and write fragment integration tests.
(Deprecated) Advanced Android in Kotlin 05.1: Testing Basics
Updated 11 Aralık 2024
Learn the basics of testing your Android Kotlin apps. In this codelab you’ll learn to run tests, write basic tests, work with AndroidX Test, as well as test ViewModel and LiveData.
(Deprecated) On Demand Modules
2 saat
Updated 11 Aralık 2024
With the Android App Bundle and Google Play’s Dynamic Delivery, your app can download dynamic feature modules on demand to devices running Android 5.0 (API level 21) and higher. Your app simply needs to call APIs in the Play Core Library to download and install those modules as required, and the Google Play Store pushes only the code and resources needed for that module to the device. You can also use this API to download on demand modules for your instant app.
(Deprecated) Tweakr: Wizard of Oz Prototyping and Remote Control with Firebase + Android
28 dakika
Updated 11 Aralık 2024
Calling all prototypers and motion designers! Are you sick of tweaking one value in your animation and having to wait minutes to compile and see your change? Ever want to hand someone a prototype, and let them try it with various options you can adjust on the fly? Do you get tingles when someone mentions “one-line solution”?
(Deprecated) People: Conversations and Bubbles
16 dakika
Updated 11 Aralık 2024
This codelab demonstrates how to show conversational notifications as Bubbles on Android 11.
(Deprecated) Direct Share to an Android app
47 dakika
Updated 11 Aralık 2024
Direct Share makes sharing content quicker and easier. In this codelab, you’ll build an app that is able to display a list of contacts in the system Intent chooser dialog so you can jump directly into the app to make the sharing process seamless.
(Deprecated) Two-way communication without internet
36 dakika
Updated 11 Aralık 2024
Learn how to connect your users with each other even when no internet is available
(Deprecated) Create different versions of your app using build variants
35 dakika
Updated 10 Aralık 2024
In this codelab, you build a default (“demo”) and premium (“full”) version of the DiceRoller app using build variants.
(Deprecated) Migrating your Dagger app to Hilt
34 dakika
Updated 10 Aralık 2024
In this codelab, you’ll migrate an Android app that uses Dagger as the Dependency Injection library to Hilt.
(Deprecated) Learn Jetpack Navigation
1 saat 25 dakika
Updated 10 Aralık 2024
Learn how to implement common navigation requirements for Android apps. Navigation Components handle fragment transactions, up/back stack, navigation UI patterns like navigation drawers, deep links and more. You’ll also explore the type safe args plugin and the Navigation Editor in Android Studio.
(Deprecated) Using Dagger in your Android app - Kotlin
1 saat 10 dakika
Updated 10 Aralık 2024
In this codelab, you’ll build an Android app that uses Dagger to do Dependency Injection.
(Deprecated) Data Binding in Android
56 dakika
Updated 10 Aralık 2024
In this codelab you’ll learn how to use the Data Binding library. The Data Binding Library allows you to bind UI components in your layouts to data sources in your app using a declarative format rather than programmatically. You’ll learn to set it all up, use layout expressions, work with observable objects, and create custom Binding Adapters to reduce boilerplate to a minimum.
(Deprecated) Learn advanced coroutines with Kotlin Flow and LiveData
57 dakika
Updated 10 Aralık 2024
In this codelab, you’ll build a coroutine-based Android app that uses Architecture Components to fetch data from the network and a Room database.
(Deprecated) Using Hilt in your Android app
1 saat
Updated 10 Aralık 2024
In this codelab, you’ll build an Android app that uses Hilt to do Dependency Injection.
(Deprecated) Use Kotlin Coroutines in your Android App
54 dakika
Updated 10 Aralık 2024
In this codelab, you’ll build a coroutine-based Android app that uses Architecture Components to fetch data from the network and a Room database.
(Deprecated) Building a Data Layer
1 saat 3 dakika
Updated 10 Aralık 2024
In this codelab, you learn about the data layer in Android app architecture. You build repositories, data models, and data sources to read and write data to a local database and a network service.
Jetpack Compose Navigation
1 saat 39 dakika
Updated 10 Aralık 2024
In this codelab, you’ll learn all about the basics of Navigation in Compose.
(Deprecated) Use ConstraintLayout to design your Android views
1 saat 5 dakika
Updated 9 Aralık 2024
In this codelab, you’ll learn how to use Android Studio’s Layout Editor to build your views using ConstraintLayout.
(Deprecated) Android Paging Basics
25 dakika
Updated 9 Aralık 2024
In this codelab, you integrate the Paging library into an app that shows a list. The Paging library helps you load and display pages of data from a larger dataset from local storage or over network.
(Deprecated) Kotlin Bootcamp for programmers: Welcome to the course
Updated 9 Aralık 2024
Welcome to the Kotlin bootcamp for programmers training course.
(Deprecated) Android Paging Advanced codelab
1 saat 28 dakika
Updated 9 Aralık 2024
In this codelab, you modify a sample app to incorporate the Paging Library, which reduces the app’s memory footprint.
(Deprecated) Kotlin Bootcamp for Programmers 1: Get started
Updated 9 Aralık 2024
In this codelab, you learn some of the advantages of using Kotlin, and you install the necessary tools (JDK+IDE).
(Deprecated) Create Hello-CMake with Android Studio
10 dakika
Updated 9 Aralık 2024
In this codelab, you’ll learn how to use Android Studio 4.0+ C++ template
(Deprecated) Android Sleep API Codelab
30 dakika
Updated 9 Aralık 2024
Learn how to register for the Android Sleep API to get the SleepSegmentEvents and SleepClassifyEvents.
(Deprecated) Login with Biometrics on Android
30 dakika
Updated 9 Aralık 2024
In this codelab you will add biometric authentication to your app as part of your login process. You will not replace your current login process – users can still log in with their account password. Instead, you will augment your login process, giving users the convenience to not have to remember their password every time they open your app. The codelab shows how to ask users to opt-in and then how to store the server generated user token behind biometric authentication.
Basic layouts in Compose
54 dakika
Updated 9 Aralık 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.
(Deprecated) Build an app that runs on a work profile
30 dakika
Updated 9 Aralık 2024
In this codelab, you’ll be making changes to an app to provide a better user experience when run on a managed device with a work profile.
(Deprecated) Android Room with a View - Kotlin
1 saat
Updated 9 Aralık 2024
In this codelab you’ll build an Android app in Kotlin that uses Android Architecture Components (RoomDatabase, Entity, DAO, AndroidViewModel, LiveData) together with Kotlin coroutines. This sample app stores a list of words in a Room database and displays it in a RecyclerView. You will implement this app using the recommended Android architecture using these components.
(Deprecated) Android Room with a View - Java
58 dakika
Updated 9 Aralık 2024
In this codelab you build an app that uses Android Architecture Components (RoomDatabase, Entity, DAO, AndroidViewModel, LiveData) and implements the recommended architecture for these components. The sample app stores a list of words in a Room database and displays it in a RecyclerView.
Learn Car App Library fundamentals
1 saat 24 dakika
Updated 29 Kasım 2024
In this codelab, you learn the fundamentals of the Car App Library. This library is used to build apps for Android Auto and Android Automotive OS, which can be used both while parked and driving. You learn how to reuse your implementation across both platforms and have it handle the hard stuff, like different screen configurations and input methods.
(Deprecated) Exposing data to watch face complications on Wear OS
45 dakika
Updated 14 Kasım 2024
In this codelab, you’ll learn how to expose your data to watch face complications while keeping best practices for the platform in mind.
Create and use variables in Kotlin
Updated 31 Ekim 2024
Learn why variables are useful in programming, as well as how to define and update variables in your Kotlin code.
Drag and Drop in Compose
35 dakika
Updated 30 Ekim 2024
Learn to enable drag and drop in compose using modifiers.
Introduction to Compose for TV
1 saat 21 dakika
Updated 15 Ekim 2024
Learn the basics of Compose for TV and create two screens that are commonly available in TV apps.
Create your first Tile in Wear OS
47 dakika
Updated 14 Ekim 2024
In this codelab, you’ll learn how to create your own Tile for Wear OS. You’ll use Tiles Material Components, a library that makes it easier to build UI that conforms to Material design guidelines, and preview your tiles in Android Studio as you develop.
Compose for Wear OS Codelab
57 dakika
Updated 8 Ekim 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.
Advanced activity embedding
1 saat 7 dakika
Updated 2 Ekim 2024
In this codelab you will learn how to use activity embedding’s newly added feature to improve app large screen experience. These features include pane expansion, overlay presentation, full screen dialog dim and activity stack pinning.
Accessibility in Jetpack Compose
39 dakika
Updated 24 Eylül 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 dakika
Updated 24 Eylül 2024
In this codelab, you’ll learn how to migrate parts of a screen in the View system to Jetpack Compose.
Scalable implementation of Google Play Billing in Kotlin
Updated 9 Eylül 2024
This codelab shows how to add billing to an existing app. You will learn how to use the Google Play Billing Library in your project in a way that hides the nitty-gritty details from the rest of your app and engineering team.
Build a handwritten digit classifier app with TensorFlow Lite
46 dakika
Updated 4 Eylül 2024
In this codelab you will train a handwritten digit classifier model using TensorFlow, then convert it to TensorFlow Lite format and deploy it on an Android app.
Using Play Asset Delivery in Unity games
1 saat 25 dakika
Updated 21 Ağustos 2024
In this codelab, modify a sample Unity project to take advantage of Play Asset Delivery for on-demand asset downloading from Google Play.
Add keyboard, mouse, trackpad, and stylus support with Jetpack Compose
1 saat 9 dakika
Updated 26 Temmuz 2024
Learn how to develop your apps to support keyboard and pointing devices, such as mouse and trackpad, with Compose.
Support resizable surfaces in your camera app
38 dakika
Updated 22 Temmuz 2024
With the advent of Android 12L and the availability of new form factors (such as foldable devices) and display modes such as multi-window and multi-display, many assumptions regarding the relationship between the camera output and the surface have been challenged.
Build and test a parked app for Android Automotive OS
1 saat 11 dakika
Updated 11 Temmuz 2024
In this codelab, you’ll learn how to build and test great parked experiences for Android Automotive OS devices. You learn how to make the most of the wide variety of screens found in cars and how to let users control playback of content in various scenarios unique to cars using standard Android mechanisms.
Android Basics with Compose and Firebase
Updated 1 Temmuz 2024
Android Basics with Compose and Firebase
Run your first app on the Android Emulator
Updated 28 Haziran 2024
Learn how to run an app on the Android Emulator.
Add Compose to a View-based app
Updated 28 Haziran 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 28 Haziran 2024
Learn how to adapt your app for large screens by implementing one of the canonical layout patterns.
Add images to your Android app
Updated 18 Haziran 2024
Learn how to build a simple app with composable functions.
Build a simple app with text composables
Updated 18 Haziran 2024
Learn how to build a simple app with composable functions.
Write unit tests for ViewModel
Updated 18 Haziran 2024
Learn how to test the ViewModel to verify the correctness, functional behavior, and usability of your app.
Background Work with WorkManager
Updated 4 Haziran 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 31 Mayıs 2024
Learn how to adapt your app for large screens with adaptive navigation ui patterns.
Starting Android Accessibility
16 dakika
Updated 25 Mayıs 2024
In this codelab, you’ll learn the fundamentals of Android Accessibility. You’ll work through exercises to learn how to use the Android platform to build apps that can be used more easily by a wider set of people with different accessibility needs.
Introduction to Coroutines in Android Studio
Updated 22 Mayıs 2024
Learn to use Kotlin coroutines inside an Android app and how to test coroutines.
Persist data with Room
Updated 17 Mayıs 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 17 Mayıs 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.
Codelab for Drag and Drop
55 dakika
Updated 14 Mayıs 2024
Learn to enable drag and drop for your views along with use of DragHelper and DropHelper both within the app and across the app.
Practical performance problem solving in Jetpack Compose
50 dakika
Updated 13 Mayıs 2024
Make your Compose app run fast by analyzing system traces and fixing common lag causes.
Get data from the internet
Updated 10 Mayıs 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 10 Mayıs 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 8 Mayıs 2024
Learn how to test the Navigation component and maximize the amount of code that is tested.
Add a scrollable list
Updated 8 Mayıs 2024
Build an app that displays a scrollable list of affirmations with text and images.
Add adaptive layouts to a view-based Android app with Compose
1 saat 1 dakika
Updated 7 Mayıs 2024
Learn how to add adaptive layouts to a view-based Android app with Jetpack Compose.
Create an Art Space app
Updated 7 Mayıs 2024
Learn how to create an Android app that showcases your own art space.
Navigate between screens with Compose
Updated 7 Mayıs 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 7 Mayıs 2024
Learn how to add a simple spring animation to your Compose app.
Optimize your camera app on foldable devices with Jetpack WindowManager
34 dakika
Updated 30 Nisan 2024
Over the years, Android devices have evolved to include a variety of sizes, shapes, and displays, among other features. Since the beginning, however, taking pictures with your phone has been one of the most important use cases. Today, camera capabilities are still one of the top reasons consumers purchase a phone.
Stages of the Activity lifecycle
Updated 27 Nisan 2024
In this codelab, you learn about the activity lifecycle and logging.
Intro to state in Compose
Updated 26 Nisan 2024
Learn about state, and how it can be used and manipulated by Jetpack Compose.
Material Theming with Jetpack Compose
Updated 26 Nisan 2024
Learn how to add Material Theming to an app, including color, shape, and typography.
Practice: Click behavior
Updated 26 Nisan 2024
Apply what you learned about button click behavior to build an app.
Use the debugger in Android Studio
Updated 23 Nisan 2024
Learn how to use the debugger in Android Studio to inspect and debug the state of your app at runtime.
Create an interactive Dice Roller app
Updated 23 Nisan 2024
Learn how to build an interactive Dice Roller app that lets users roll a dice and then shows them the result.
Handle edge-to-edge enforcements in Android 15
50 dakika
Updated 18 Nisan 2024
Learn how to handle edge-to-edge enforcements in Android 15.
Create an accessible and personalized theme and brand with Material Design 3
Updated 16 Nisan 2024
Learn how to create a theme and brand that’s accessible and personalized with Material 3.
Design an Adaptive Layout with Material Design
4 dakika
Updated 4 Nisan 2024
Learn how to use adaptive design principles in Material Design to achieve consistency across screen sizes. In this codelab, you take a mobile design to tablet format, and learn about the responsive grid, adaptive composition patterns, and the correct components.
Getting started with Vulkan on Android
59 dakika
Updated 1 Nisan 2024
Vulkan is a high performance, modern graphic API. It provides low level accessibility to the GPU and optimizes implementation in various ways, but it is difficult to use. The alternative, OpenGL ES, was simpler but has less features and performance as it is based on legacy hardware architecture. OpenGL ES has been deprecated on most other platforms and is no longer in active development. On Android, we are planning to deprecate OpenGL ES and move to Vulkan and need to prepare developers for the transition.
Integrating Adaptability features into your Native Game
1 saat
Updated 6 Şubat 2024
In this codelab, you’ll start with a simple 3D physics simulation game and integrate Adaptability features to it. You will integrate:
Load and display images from the internet
Updated 1 Şubat 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 saat 5 dakika
Updated 18 Ocak 2024
In this codelab, you’ll learn the basics of Compose.
Introduction to Coroutines in Kotlin Playground
Updated 16 Ocak 2024
Within Kotlin Playground, learn to use Kotlin coroutines to write asynchronous code.
Download and install Android Studio
Updated 12 Ocak 2024
Learn how to download and install Android Studio
Receive location updates in Android 10 with Kotlin
Updated 3 Ocak 2024
In this codelab, you'll learn how to continue receiving location updates for Android 10, keeping best practices for the platform in mind.
Getting Started with CameraX
1 saat
Updated 3 Ocak 2024
This codelab introduces how to create a camera app that uses CameraX to show a viewfinder, take photos and analyze an image stream from the camera.
Install Android 11 GSI for App Testing
Updated 3 Ocak 2024
In this codelab, you will install Android 11 Generic System Image (GSI) to Android 9 (Pie) devices. After that, you can develop and validate your application with the new OS!
Working with Preferences DataStore
27 dakika
Updated 3 Ocak 2024
In this codelab, you’ll modify a sample app to incorporate Jetpack Preferences DataStore, a new and improved data store solution and replacement for SharedPreferences.
Theming in Compose with Material 3
31 dakika
Updated 3 Ocak 2024
The purpose of this codelab is to demonstrate theming in Jetpack Compose with new Material Design 3 and Material You implementation.
Convertendo para Kotlin
Updated 3 Ocak 2024
Nesse codelab você aprenderá como converter seu código Java para Kotlin.
Calculate a custom tip
1 saat 3 dakika
Updated 3 Ocak 2024
Learn how to add an action button, set up keyboard actions, and use a Switch composable.
Advanced State and Side Effects in Jetpack Compose
41 dakika
Updated 22 Aralık 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.
Use classes and objects in Kotlin
Updated 20 Aralık 2023
Learn how to use classes and objects in Kotlin.
State in Jetpack Compose
50 dakika
Updated 23 Kasım 2023
In this codelab you’ll learn about how to build rich, interactive, Compose applications by managing state.
Animating elements in Jetpack Compose
20 dakika
Updated 23 Kasım 2023
In this codelab, you’ll learn how to use some Compose Animation APIs.
Testing in Jetpack Compose
38 dakika
Updated 21 Kasım 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.
Integrating Android Performance Tuner into your Unity game
1 saat 12 dakika
Updated 15 Kasım 2023
In this codelab, you’ll add Android Performance Tuner to a Unity game, allowing you to get performance measures reported in the Google Play Console when people play your game.
Practice: Kotlin Fundamentals
Updated 30 Ekim 2023
Apply the basic concepts of the Kotlin programming language to solve the given problems.
Support foldable and dual-screen devices with Jetpack WindowManager
1 saat
Updated 11 Ekim 2023
Learn to adapt your app to new form factors, like foldable and dual-screen devices, with the Jetpack WindowManager library.
Calculate a custom tip
Updated 29 Eylül 2023
Learn how to add an action button, set up keyboard actions, and use a Switch composable.
Your first program in Kotlin
Updated 29 Eylül 2023
Learn how to create and modify simple programs in Kotlin.
Configure, implement, and verify Android App Links
35 dakika
Updated 21 Eylül 2023
In this codelab, you’ll build an Android App which lists a series of restaurants. It aims to help design, configure, and verify Android App Links.
Generics, objects, and extensions
Updated 21 Eylül 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.
Inspect app performance with Macrobenchmark
48 dakika
Updated 21 Eylül 2023
In this codelab, you’ll learn how to measure app startup timing and frame timing with Jetpack Macrobenchmark.
Practice: Build Superheroes app
Updated 21 Eylül 2023
Build upon the concepts of material design, building a list and simple animations to build a list of super-heroes.
Background Work with WorkManager - Java
1 saat 30 dakika
Updated 21 Eylül 2023
Android has many choices for guaranteed background work, which have various pros and cons. The WorkManager library for Android makes working in the background simple. WorkManager deals with edge cases and compatibility issues. It also can create tasks that are query-able, reusable and chain-able. 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 with constraints.
Integrating Android Performance Tuner into your native Android game
1 saat 35 dakika
Updated 21 Eylül 2023
In this codelab, you’ll add Android Performance Tuner to a native Android game, allowing you to get performance measures reported in the Google Play Console when people play your game.
Lesson 1.1 - Get started
Updated 21 Eylül 2023
In this codelab, you learn some of the advantages of using Kotlin, and you install the necessary tools (JDK+IDE).
Improve app performance with Baseline Profiles
48 dakika
Updated 21 Eylül 2023
This codelab shows how to improve app startup timing and frame timing with Baseline Profiles.
Enhance stylus support in an Android app
1 saat 23 dakika
Updated 21 Eylül 2023
Learn how to implement advanced techniques that enable a state-of-the-art stylus experience in an Android app.
Higher-order functions with collections
Updated 21 Eylül 2023
Learn how to use common higher-order functions with collections in Kotlin
Project: Create a Business Card app
Updated 21 Eylül 2023
Learn how to create an Android app that showcases your business card.
Use collections in Kotlin
1 saat 12 dakika
Updated 21 Eylül 2023
Learn how to use arrays and collections, including lists, sets, and maps.
Add Play Integrity to your Android application
1 saat 18 dakika
Updated 21 Eylül 2023
In this codelab, you’ll add the Play Integrity API to a sample application. You’ll use the Play Integrity API to request an integrity verdict that helps you make determinations about the license status and integrity of your app, and the integrity status of the device it is running on.
Using Play Asset Delivery in native games
1 saat 15 dakika
Updated 21 Eylül 2023
In this codelab, modify a C++ demo application to take advantage of Play Asset Delivery for on-demand asset downloading from Google Play.
Add a scrollable list
1 saat 5 dakika
Updated 21 Eylül 2023
Add a scrollable list to the Affirmations app
Add Rewarded Video Ads to your Android App
35 dakika
Updated 21 Eylül 2023
In this codelab, you’ll integrate rewarded video ads into a simple demo game.
Android Testing Codelab
Updated 21 Eylül 2023
In this codelab you’ll learn how to write tests for a real world Android application that uses modern architecture. It showcases unit, integration and end-to-end tests using JUnit4, code coverage tools, Robolectric and Espresso. You’ll also learn how to create tests for an app that uses Kotlin coroutines and Architecture Components like ViewModel, LiveData, Room, Navigation and Data Binding.
Android Privacy Codelab
Updated 21 Eylül 2023
Android has released many individual privacy features over the past few releases, and we are excited for you to adopt them in your apps! This codelab will seek to tie individual privacy features together and show the developer how they can learn about their app’s access to private user data and adopt privacy best practices in an existing, running app.
Use collections in Kotlin
Updated 21 Eylül 2023
Learn how to use arrays and collections, including lists, sets, and maps.
ViewModel and State in Compose
Updated 21 Eylül 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.
Cronet Basics
Updated 21 Eylül 2023
Last Updated: 2022-05-06 Cronet is the Chromium network stack made available to Android apps as a library. Cronet takes advantage of multiple technologies that reduce the latency and increase the throughput of the network requests that your app needs
Managing Android Devices Without an App
34 dakika
Updated 21 Eylül 2023
Managing Android devices has never been easier. With the Android Management API, you can build a policy and provision a device in minutes. Our quickstart guide will give you everything you need to get started, and will help you set up a device from scratch in minutes.
Add Nearby Messages to your app
15 dakika
Updated 21 Eylül 2023
Learn how to send and discover messages with the Nearby Messages API
Working with Proto DataStore
34 dakika
Updated 21 Eylül 2023
In this codelab, you’ll modify a sample app to incorporate Jetpack Proto DataStore, a new and improved data store solution and replacement for SharedPreferences.
Building a Kotlin extensions library
Updated 21 Eylül 2023
In this codelab, you’ll build your own Kotin extensions library for an API that was originally created in the Java programming language. You’ll learn the basics of extension functions and properties, as well as how to implement a coroutines and Flow version of a traditional, callbacks based API.
Use function types and lambda expressions in Kotlin
Updated 21 Eylül 2023
Learn how to use lambda expressions and higher order functions in Kotlin.
Practice: Build Sports app
Updated 21 Eylül 2023
Build upon the concepts of material design by building a list and simple animations to build a list of superheroes.
Advanced WorkManager
45 dakika
Updated 21 Eylül 2023
Built on top of the “WorkManager Basics” codelab, this adds support for the new Progress API introduced in WorkManager v2.3 and shows how to customize WorkManager with a custom configuration. This codelab will also cover how to test Workers.
Practice: Compose Basics
Updated 21 Eylül 2023
Apply the concepts of basic UI composables to implement screens for the given problems.
Optimizing your Android App for ChromeOS
1 saat
Updated 21 Eylül 2023
In this codelab, you’ll build an Android app that contains many of the optimizations needed for a good user experience on ChromeOS.
Improve Engagement on Watch Next for Movie/TV Episodes on Android TV
1 saat 27 dakika
Updated 21 Eylül 2023
In this codelab, you’ll learn best practices for building Watch Next for TV movies/episodes.
Android fundamentals 02.2: Activity lifecycle and state
Updated 21 Eylül 2023
In this codelab you add logging statements to the TwoActivities app and observe activity lifecycle changes. You work with these changes and explore how to handle user input under these conditions.
Building Beautiful Transitions with Material Motion for Android
Updated 19 Eylül 2023
Build Material's motion system into the Reply app using transitions from the Material Components for Android library, and Kotlin.
Incorporate Lifecycle-Aware Components
Updated 19 Eylül 2023
In this codelab, you'll learn about lifecycle-aware architecture components and how to incorporate LiveData and ViewModels into your app.
MDC-104 Android: Material Advanced Components (Java)
Updated 19 Eylül 2023
Improve your design and learn to use our advanced component backdrop menu in Java.
MDC-102 Android: Material Structure and Layout (Java)
Updated 19 Eylül 2023
Learn how to use Material for structure and layout on Android in Java.
MDC-103 Android: Material theming with Color, Motion and Type (Java)
Updated 19 Eylül 2023
Discover how Material Components for Android make it easy to differentiate your product and express your brand through design in Java.
MDC-103 Android: Material Theming with Color, Elevation and Type (Kotlin)
Updated 19 Eylül 2023
Discover how Material Components for Android make it easy to differentiate your product and express your brand through design in Kotlin.
MDC-104 Android: Material Advanced Components (Kotlin)
Updated 19 Eylül 2023
Improve your design and learn to use our advanced component backdrop menu in Kotlin.
MDC-101 Android: Material Components (MDC) Basics (Java)
Updated 19 Eylül 2023
Learn the basics of using Material Components for Android by building a simple app with core components in Java.
Recognize Flowers with TensorFlow Lite on Android
Updated 19 Eylül 2023
In this codelab you will take an image classifier, and run it on an Android phone using TensorFlow Lite.
MDC-102 Android: Material Structure and Layout (Kotlin)
Updated 19 Eylül 2023
Learn how to use Material for structure and layout on Android in Kotlin.
Controlling media through MediaSession
Updated 19 Eylül 2023
In this codelab, you'll expand a video sample to add support for MediaSession. This allows Android to control playback from outside your app, for instance through the Google Assistant, remote controls on TV, or on-screen controls on the lock screen and Wear OS.
Deprecated: Deeper Content Integration with the New Android TV Home Screen
Updated 19 Eylül 2023
This codelab introduces the new Android TV home screen. You'll learn how to add channels and programs to the Android TV launcher, and make them discoverable. Deprecated by jbax@
Raise engagement on Android TV by integrating with the Play Next row
Updated 19 Eylül 2023
This codelab dives deeper into the new Android TV home screen. You'll learn how to add programs to the Play Next row, the different types of programs allowed, and best practices for your app to integrate with the row.