CINXE.COM
Get started with tiles | Android Developers
<!doctype html> <html lang="en" dir="ltr"> <head><script type="text/javascript" src="/_static/js/bundle-playback.js?v=HxkREWBo" charset="utf-8"></script> <script type="text/javascript" src="/_static/js/wombat.js?v=txqj7nKC" charset="utf-8"></script> <script>window.RufflePlayer=window.RufflePlayer||{};window.RufflePlayer.config={"autoplay":"on","unmuteOverlay":"hidden"};</script> <script type="text/javascript" src="/_static/js/ruffle/ruffle.js"></script> <script type="text/javascript"> __wm.init("http://web.archive.org/web"); __wm.wombat("https://developer.android.com/training/wearables/tiles/get_started","20231023210419","http://web.archive.org/","web","/_static/", "1698095059"); </script> <link rel="stylesheet" type="text/css" href="/_static/css/banner-styles.css?v=S1zqJCYt" /> <link rel="stylesheet" type="text/css" href="/_static/css/iconochive.css?v=3PDvdIFv" /> <!-- End Wayback Rewrite JS Include --> <meta name="google-signin-client-id" content="721724668570-nbkv1cfusk7kk4eni4pjvepaus73b13t.apps.googleusercontent.com"> <meta name="google-signin-scope" content="profile email https://www.googleapis.com/auth/developerprofiles https://www.googleapis.com/auth/developerprofiles.award"> <meta property="og:site_name" content="Android Developers"> <meta property="og:type" content="website"><meta name="theme-color" content="#3ddc84"><meta charset="utf-8"> <meta content="IE=Edge" http-equiv="X-UA-Compatible"> <meta name="viewport" content="width=device-width, initial-scale=1"> <link rel="manifest" href="/web/20231023210419/https://developer.android.com/_pwa/android/manifest.json" crossorigin="use-credentials"> <link rel="preconnect" href="//web.archive.org/web/20231023210419/https://www.gstatic.com/" crossorigin> <link rel="preconnect" href="//web.archive.org/web/20231023210419/https://fonts.gstatic.com/" crossorigin> <link rel="preconnect" href="//web.archive.org/web/20231023210419/https://fonts.googleapis.com/" crossorigin> <link rel="preconnect" href="//web.archive.org/web/20231023210419/https://apis.google.com/" crossorigin> <link rel="preconnect" href="//web.archive.org/web/20231023210419/https://www.google-analytics.com/" crossorigin><link rel="stylesheet" href="//web.archive.org/web/20231023210419cs_/https://fonts.googleapis.com/css?family=Google+Sans:400,500,600,700|Google+Sans+Text:400,400italic,500,500italic,600,600italic,700,700italic|Roboto+Mono:400,500,700&display=swap"> <link rel="stylesheet" href="//web.archive.org/web/20231023210419cs_/https://fonts.googleapis.com/css2?family=Material+Icons&family=Material+Symbols+Outlined:opsz,wght,FILL,GRAD@20..48,100..700,0..1,-50..200&display=block"><link rel="stylesheet" href="http://web.archive.org/web/20231023210419cs_/https://www.gstatic.com/devrel-devsite/prod/v89c3b644dadab0c1b29fcdfaa83db3f3db74c1887a83ba5a78318ee59aec3871/android/css/rebrand-app.css"> <link rel="shortcut icon" href="http://web.archive.org/web/20231023210419im_/https://www.gstatic.com/devrel-devsite/prod/v89c3b644dadab0c1b29fcdfaa83db3f3db74c1887a83ba5a78318ee59aec3871/android/images/rebrand/favicon.svg"> <link rel="apple-touch-icon" href="http://web.archive.org/web/20231023210419im_/https://www.gstatic.com/devrel-devsite/prod/v89c3b644dadab0c1b29fcdfaa83db3f3db74c1887a83ba5a78318ee59aec3871/android/images/rebrand/touchicon-180.png"><link rel="canonical" href="http://web.archive.org/web/20231023210419/https://developer.android.com/training/wearables/tiles/get_started"><link rel="search" type="application/opensearchdescription+xml" title="Android Developers" href="http://web.archive.org/web/20231023210419/https://developer.android.com/s/opensearch.xml"> <link rel="alternate" hreflang="en" href="http://web.archive.org/web/20231023210419/https://developer.android.com/training/wearables/tiles/get_started"/><link rel="alternate" hreflang="x-default" href="http://web.archive.org/web/20231023210419/https://developer.android.com/training/wearables/tiles/get_started"/><link rel="alternate" hreflang="ar" href="http://web.archive.org/web/20231023210419/https://developer.android.com/training/wearables/tiles/get_started?hl=ar"/><link rel="alternate" hreflang="zh-Hans" href="http://web.archive.org/web/20231023210419/https://developer.android.com/training/wearables/tiles/get_started?hl=zh-cn"/><link rel="alternate" hreflang="zh-Hant" href="http://web.archive.org/web/20231023210419/https://developer.android.com/training/wearables/tiles/get_started?hl=zh-tw"/><link rel="alternate" hreflang="fr" href="http://web.archive.org/web/20231023210419/https://developer.android.com/training/wearables/tiles/get_started?hl=fr"/><link rel="alternate" hreflang="id" href="http://web.archive.org/web/20231023210419/https://developer.android.com/training/wearables/tiles/get_started?hl=id"/><link rel="alternate" hreflang="it" href="http://web.archive.org/web/20231023210419/https://developer.android.com/training/wearables/tiles/get_started?hl=it"/><link rel="alternate" hreflang="ja" href="http://web.archive.org/web/20231023210419/https://developer.android.com/training/wearables/tiles/get_started?hl=ja"/><link rel="alternate" hreflang="ko" href="http://web.archive.org/web/20231023210419/https://developer.android.com/training/wearables/tiles/get_started?hl=ko"/><link rel="alternate" hreflang="pt-BR" href="http://web.archive.org/web/20231023210419/https://developer.android.com/training/wearables/tiles/get_started?hl=pt-br"/><link rel="alternate" hreflang="es-419" href="http://web.archive.org/web/20231023210419/https://developer.android.com/training/wearables/tiles/get_started?hl=es-419"/><link rel="alternate" hreflang="tr" href="http://web.archive.org/web/20231023210419/https://developer.android.com/training/wearables/tiles/get_started?hl=tr"/><link rel="alternate" hreflang="vi" href="http://web.archive.org/web/20231023210419/https://developer.android.com/training/wearables/tiles/get_started?hl=vi"/><title>Get started with tiles | Android Developers</title> <meta property="og:title" content="Get started with tiles | Android Developers"><meta property="og:url" content="http://web.archive.org/web/20231023210419/https://developer.android.com/training/wearables/tiles/get_started"><meta property="og:image" content="http://web.archive.org/web/20231023210419im_/https://developer.android.com/static/images/social/android-developers.png"> <meta property="og:image:width" content="1200"> <meta property="og:image:height" content="675"><meta property="og:locale" content="en"><meta name="twitter:card" content="summary_large_image"><script type="application/ld+json"> { "@context": "http://web.archive.org/web/20231023210419/https://schema.org", "@type": "Article", "headline": "Get started with tiles" } </script> <link rel="stylesheet" href="/web/20231023210419cs_/https://developer.android.com/extras.css"></head> <body class="" template="page" theme="android-theme" type="article" layout="docs" pending> <devsite-progress type="indeterminate" id="app-progress"></devsite-progress> <section class="devsite-wrapper"><devsite-header role="banner"> <div class="devsite-header--inner nocontent"> <div class="devsite-top-logo-row-wrapper-wrapper"> <div class="devsite-top-logo-row-wrapper"> <div class="devsite-top-logo-row"> <button type="button" id="devsite-hamburger-menu" class="devsite-header-icon-button button-flat material-icons gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Navigation menu button" visually-hidden aria-label="Open menu"> </button> <div class="devsite-product-name-wrapper"> <a href="/web/20231023210419/https://developer.android.com/" class="devsite-site-logo-link gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Site logo" track-type="globalNav" track-name="androidDevelopers" track-metadata-position="nav" track-metadata-eventdetail="nav"> <img src="http://web.archive.org/web/20231023210419im_/https://www.gstatic.com/devrel-devsite/prod/v89c3b644dadab0c1b29fcdfaa83db3f3db74c1887a83ba5a78318ee59aec3871/android/images/rebrand/lockup.svg" class="devsite-site-logo" alt="Android Developers"> </a> <span class="devsite-product-name"> <ul class="devsite-breadcrumb-list"> <li class="devsite-breadcrumb-item "> </li> </ul> </span> </div> <div class="devsite-top-logo-row-middle"> <div class="devsite-header-upper-tabs"> <devsite-tabs class="upper-tabs"> <nav class="devsite-tabs-wrapper" aria-label="Upper tabs"> <tab dropdown dropdown-full> <a href="http://web.archive.org/web/20231023210419/https://developer.android.com/get-started" track-metadata-eventdetail="https://developer.android.com/get-started" class="devsite-tabs-content gc-analytics-event android-dropdown-tab" track-type="nav" track-metadata-position="nav - essentials" track-metadata-module="primary nav" data-category="Site-Wide Custom Events" data-label="Tab: Essentials" track-name="essentials"> Essentials </a> <a href="#" role="button" aria-haspopup="true" aria-expanded="false" aria-label="Dropdown menu for Essentials" track-type="nav" track-metadata-eventdetail="https://developer.android.com/get-started" track-metadata-position="nav - essentials" track-metadata-module="primary nav" data-category="Site-Wide Custom Events" data-label="Tab: Essentials" track-name="essentials" class="devsite-tabs-dropdown-toggle devsite-icon devsite-icon-arrow-drop-down"></a> <div class="devsite-tabs-dropdown" aria-label="submenu" hidden> <div class="devsite-tabs-dropdown-content"> <div class="devsite-tabs-dropdown-column android-dropdown android-dropdown-primary android-dropdown-mad"> <ul class="devsite-tabs-dropdown-section "> <li class="devsite-nav-title" role="heading" tooltip>Modern Android</li> <li class="devsite-nav-description">Quickly bring your app to life with less code, using a modern declarative approach to UI, and the simplicity of Kotlin. </li> <li class="devsite-nav-item"> <a href="http://web.archive.org/web/20231023210419/https://developer.android.com/modern-android-development" track-type="nav" track-metadata-eventdetail="https://developer.android.com/modern-android-development" track-metadata-position="nav - essentials" track-metadata-module="tertiary nav" track-metadata-module_headline="modern android" tooltip class="button button-primary"> <div class="devsite-nav-item-title"> Explore Modern Android </div> </a> </li> <li class="devsite-nav-item"> <a href="http://web.archive.org/web/20231023210419/https://developer.android.com/jetpack/compose/adopt/for-large-teams" track-type="nav" track-metadata-eventdetail="https://developer.android.com/jetpack/compose/adopt/for-large-teams" track-metadata-position="nav - essentials" track-metadata-module="tertiary nav" track-metadata-module_headline="modern android" tooltip class="button button-white"> <div class="devsite-nav-item-title"> Adopt Compose for teams </div> </a> </li> </ul> </div> <div class="devsite-tabs-dropdown-column android-dropdown"> <ul class="devsite-tabs-dropdown-section android-dropdown-section-icon android-dropdown-section-icon-launch"> <li class="devsite-nav-title" role="heading" tooltip>Get started</li> <li class="devsite-nav-description">Start by creating your first app. Go deeper with our training courses or explore app development on your own. </li> <li class="devsite-nav-item"> <a href="http://web.archive.org/web/20231023210419/https://developer.android.com/codelabs/basic-android-kotlin-compose-first-app" track-type="nav" track-metadata-eventdetail="https://developer.android.com/codelabs/basic-android-kotlin-compose-first-app" track-metadata-position="nav - essentials" track-metadata-module="tertiary nav" track-metadata-module_headline="get started" tooltip> <div class="devsite-nav-item-title"> Hello world </div> </a> </li> <li class="devsite-nav-item"> <a href="http://web.archive.org/web/20231023210419/https://developer.android.com/courses" track-type="nav" track-metadata-eventdetail="https://developer.android.com/courses" track-metadata-position="nav - essentials" track-metadata-module="tertiary nav" track-metadata-module_headline="get started" tooltip> <div class="devsite-nav-item-title"> Training courses </div> </a> </li> <li class="devsite-nav-item"> <a href="http://web.archive.org/web/20231023210419/https://developer.android.com/get-started/codelabs" track-type="nav" track-metadata-eventdetail="https://developer.android.com/get-started/codelabs" track-metadata-position="nav - essentials" track-metadata-module="tertiary nav" track-metadata-module_headline="get started" tooltip> <div class="devsite-nav-item-title"> Tutorials </div> </a> </li> <li class="devsite-nav-item"> <a href="http://web.archive.org/web/20231023210419/https://developer.android.com/kotlin" track-type="nav" track-metadata-eventdetail="https://developer.android.com/kotlin" track-metadata-position="nav - essentials" track-metadata-module="tertiary nav" track-metadata-module_headline="get started" tooltip> <div class="devsite-nav-item-title"> Kotlin for Android </div> </a> </li> <li class="devsite-nav-item"> <a href="http://web.archive.org/web/20231023210419/https://play.google.com/console/about/guides/monetize/" track-type="nav" track-metadata-eventdetail="https://play.google.com/console/about/guides/monetize/" track-metadata-position="nav - essentials" track-metadata-module="tertiary nav" track-metadata-module_headline="get started" tooltip> <div class="devsite-nav-item-title"> Monetization with Play ↗️ </div> </a> </li> </ul> </div> <div class="devsite-tabs-dropdown-column android-dropdown"> <ul class="devsite-tabs-dropdown-section android-dropdown-section-icon android-dropdown-section-icon-multiple-screens"> <li class="devsite-nav-title" role="heading" tooltip>Extend by device</li> <li class="devsite-nav-description">Build apps that give your users seamless experiences from phones to tablets, watches, and more. </li> <li class="devsite-nav-item"> <a href="http://web.archive.org/web/20231023210419/https://developer.android.com/large-screens" track-type="nav" track-metadata-eventdetail="https://developer.android.com/large-screens" track-metadata-position="nav - essentials" track-metadata-module="tertiary nav" track-metadata-module_headline="extend by device" tooltip> <div class="devsite-nav-item-title"> Large screens (e.g. Tablets) </div> </a> </li> <li class="devsite-nav-item"> <a href="http://web.archive.org/web/20231023210419/https://developer.android.com/wear" track-type="nav" track-metadata-eventdetail="https://developer.android.com/wear" track-metadata-position="nav - essentials" track-metadata-module="tertiary nav" track-metadata-module_headline="extend by device" tooltip> <div class="devsite-nav-item-title"> Wear OS </div> </a> </li> <li class="devsite-nav-item"> <a href="http://web.archive.org/web/20231023210419/https://developer.android.com/cars" track-type="nav" track-metadata-eventdetail="https://developer.android.com/cars" track-metadata-position="nav - essentials" track-metadata-module="tertiary nav" track-metadata-module_headline="extend by device" tooltip> <div class="devsite-nav-item-title"> Android for Cars </div> </a> </li> <li class="devsite-nav-item"> <a href="http://web.archive.org/web/20231023210419/https://developer.android.com/tv" track-type="nav" track-metadata-eventdetail="https://developer.android.com/tv" track-metadata-position="nav - essentials" track-metadata-module="tertiary nav" track-metadata-module_headline="extend by device" tooltip> <div class="devsite-nav-item-title"> Android TV </div> </a> </li> <li class="devsite-nav-item"> <a href="http://web.archive.org/web/20231023210419/https://developer.android.com/chrome-os" track-type="nav" track-metadata-eventdetail="https://developer.android.com/chrome-os" track-metadata-position="nav - essentials" track-metadata-module="tertiary nav" track-metadata-module_headline="extend by device" tooltip> <div class="devsite-nav-item-title"> ChromeOS </div> </a> </li> </ul> </div> <div class="devsite-tabs-dropdown-column android-dropdown"> <ul class="devsite-tabs-dropdown-section android-dropdown-section-icon android-dropdown-section-icon-platform"> <li class="devsite-nav-title" role="heading" tooltip>Build by category</li> <li class="devsite-nav-description">Learn to build for your use case by following Google's prescriptive and opinionated guidance. </li> <li class="devsite-nav-item"> <a href="http://web.archive.org/web/20231023210419/https://developer.android.com/games" track-type="nav" track-metadata-eventdetail="https://developer.android.com/games" track-metadata-position="nav - essentials" track-metadata-module="tertiary nav" track-metadata-module_headline="build by category" tooltip> <div class="devsite-nav-item-title"> Games </div> </a> </li> <li class="devsite-nav-item"> <a href="http://web.archive.org/web/20231023210419/https://developer.android.com/media" track-type="nav" track-metadata-eventdetail="https://developer.android.com/media" track-metadata-position="nav - essentials" track-metadata-module="tertiary nav" track-metadata-module_headline="build by category" tooltip> <div class="devsite-nav-item-title"> Media apps </div> </a> </li> <li class="devsite-nav-item"> <a href="http://web.archive.org/web/20231023210419/https://developer.android.com/health-and-fitness" track-type="nav" track-metadata-eventdetail="https://developer.android.com/health-and-fitness" track-metadata-position="nav - essentials" track-metadata-module="tertiary nav" track-metadata-module_headline="build by category" tooltip> <div class="devsite-nav-item-title"> Health & Fitness </div> </a> </li> <li class="devsite-nav-item"> <a href="http://web.archive.org/web/20231023210419/https://developers.google.com/android/work" track-type="nav" track-metadata-eventdetail="https://developers.google.com/android/work" track-metadata-position="nav - essentials" track-metadata-module="tertiary nav" track-metadata-module_headline="build by category" tooltip> <div class="devsite-nav-item-title"> Enterprise apps ↗️ </div> </a> </li> </ul> </div> <div class="devsite-tabs-dropdown-column android-dropdown"> <ul class="devsite-tabs-dropdown-section android-dropdown-section-icon android-dropdown-section-icon-stars"> <li class="devsite-nav-title" role="heading" tooltip>Get the latest</li> <li class="devsite-nav-description">Stay in touch with the latest releases throughout the year, join our preview programs, and give us your feedback. </li> <li class="devsite-nav-item"> <a href="http://web.archive.org/web/20231023210419/https://developer.android.com/about/versions" track-type="nav" track-metadata-eventdetail="https://developer.android.com/about/versions" track-metadata-position="nav - essentials" track-metadata-module="tertiary nav" track-metadata-module_headline="get the latest" tooltip> <div class="devsite-nav-item-title"> Platform releases </div> </a> </li> <li class="devsite-nav-item"> <a href="http://web.archive.org/web/20231023210419/https://developer.android.com/studio/preview" track-type="nav" track-metadata-eventdetail="https://developer.android.com/studio/preview" track-metadata-position="nav - essentials" track-metadata-module="tertiary nav" track-metadata-module_headline="get the latest" tooltip> <div class="devsite-nav-item-title"> Android Studio preview </div> </a> </li> <li class="devsite-nav-item"> <a href="http://web.archive.org/web/20231023210419/https://developer.android.com/jetpack/androidx/versions" track-type="nav" track-metadata-eventdetail="https://developer.android.com/jetpack/androidx/versions" track-metadata-position="nav - essentials" track-metadata-module="tertiary nav" track-metadata-module_headline="get the latest" tooltip> <div class="devsite-nav-item-title"> Jetpack & Compose libraries </div> </a> </li> <li class="devsite-nav-item"> <a href="http://web.archive.org/web/20231023210419/https://developer.android.com/training/wearables/versions/4" track-type="nav" track-metadata-eventdetail="https://developer.android.com/training/wearables/versions/4" track-metadata-position="nav - essentials" track-metadata-module="tertiary nav" track-metadata-module_headline="get the latest" tooltip> <div class="devsite-nav-item-title"> Wear OS preview </div> </a> </li> <li class="devsite-nav-item"> <a href="http://web.archive.org/web/20231023210419/https://developer.android.com/design-for-safety/privacy-sandbox" track-type="nav" track-metadata-eventdetail="https://developer.android.com/design-for-safety/privacy-sandbox" track-metadata-position="nav - essentials" track-metadata-module="tertiary nav" track-metadata-module_headline="get the latest" tooltip> <div class="devsite-nav-item-title"> Privacy Sandbox </div> </a> </li> </ul> </div> </div> </div> </tab> <tab dropdown dropdown-full> <a href="http://web.archive.org/web/20231023210419/https://developer.android.com/design" track-metadata-eventdetail="https://developer.android.com/design" class="devsite-tabs-content gc-analytics-event android-dropdown-tab" track-type="nav" track-metadata-position="nav - design & plan" track-metadata-module="primary nav" data-category="Site-Wide Custom Events" data-label="Tab: Design & Plan" track-name="design & plan"> Design & Plan </a> <a href="#" role="button" aria-haspopup="true" aria-expanded="false" aria-label="Dropdown menu for Design & Plan" track-type="nav" track-metadata-eventdetail="https://developer.android.com/design" track-metadata-position="nav - design & plan" track-metadata-module="primary nav" data-category="Site-Wide Custom Events" data-label="Tab: Design & Plan" track-name="design & plan" class="devsite-tabs-dropdown-toggle devsite-icon devsite-icon-arrow-drop-down"></a> <div class="devsite-tabs-dropdown" aria-label="submenu" hidden> <div class="devsite-tabs-dropdown-content"> <div class="devsite-tabs-dropdown-column android-dropdown android-dropdown-primary android-dropdown-kit"> <ul class="devsite-tabs-dropdown-section "> <li class="devsite-nav-title" role="heading" tooltip>Kits & more</li> <li class="devsite-nav-description">Get one of our Figma kits for Android, Material Design, or Wear OS, and start designing your app's UI today. </li> <li class="devsite-nav-item"> <a href="http://web.archive.org/web/20231023210419/https://developer.android.com/design/ui/mobile#explore-our-kits" track-type="nav" track-metadata-eventdetail="https://developer.android.com/design/ui/mobile#explore-our-kits" track-metadata-position="nav - design & plan" track-metadata-module="tertiary nav" track-metadata-module_headline="kits & more" tooltip class="button button-primary"> <div class="devsite-nav-item-title"> Go to Android & Material kits </div> </a> </li> <li class="devsite-nav-item"> <a href="http://web.archive.org/web/20231023210419/https://developer.android.com/design/ui/wear#explore-our-kits" track-type="nav" track-metadata-eventdetail="https://developer.android.com/design/ui/wear#explore-our-kits" track-metadata-position="nav - design & plan" track-metadata-module="tertiary nav" track-metadata-module_headline="kits & more" tooltip class="button button-white"> <div class="devsite-nav-item-title"> Go to Wear OS kits </div> </a> </li> </ul> </div> <div class="devsite-tabs-dropdown-column android-dropdown"> <ul class="devsite-tabs-dropdown-section android-dropdown-section-icon android-dropdown-section-icon-layout"> <li class="devsite-nav-title" role="heading" tooltip>UI Design</li> <li class="devsite-nav-description">Design a beautiful user interface using Android best practices.</li> <li class="devsite-nav-item"> <a href="http://web.archive.org/web/20231023210419/https://developer.android.com/design/ui" track-type="nav" track-metadata-eventdetail="https://developer.android.com/design/ui" track-metadata-position="nav - design & plan" track-metadata-module="tertiary nav" track-metadata-module_headline="ui design" tooltip> <div class="devsite-nav-item-title"> Design for Android </div> </a> </li> <li class="devsite-nav-item"> <a href="http://web.archive.org/web/20231023210419/https://developer.android.com/design/ui/mobile" track-type="nav" track-metadata-eventdetail="https://developer.android.com/design/ui/mobile" track-metadata-position="nav - design & plan" track-metadata-module="tertiary nav" track-metadata-module_headline="ui design" tooltip> <div class="devsite-nav-item-title"> Mobile </div> </a> </li> <li class="devsite-nav-item"> <a href="http://web.archive.org/web/20231023210419/https://developer.android.com/design/ui/large-screens" track-type="nav" track-metadata-eventdetail="https://developer.android.com/design/ui/large-screens" track-metadata-position="nav - design & plan" track-metadata-module="tertiary nav" track-metadata-module_headline="ui design" tooltip> <div class="devsite-nav-item-title"> Large screens (e.g. Tablets) </div> </a> </li> <li class="devsite-nav-item"> <a href="http://web.archive.org/web/20231023210419/https://developer.android.com/design/ui/wear" track-type="nav" track-metadata-eventdetail="https://developer.android.com/design/ui/wear" track-metadata-position="nav - design & plan" track-metadata-module="tertiary nav" track-metadata-module_headline="ui design" tooltip> <div class="devsite-nav-item-title"> Wear OS </div> </a> </li> <li class="devsite-nav-item"> <a href="http://web.archive.org/web/20231023210419/https://developer.android.com/design/ui/tv" track-type="nav" track-metadata-eventdetail="https://developer.android.com/design/ui/tv" track-metadata-position="nav - design & plan" track-metadata-module="tertiary nav" track-metadata-module_headline="ui design" tooltip> <div class="devsite-nav-item-title"> Android TV </div> </a> </li> </ul> </div> <div class="devsite-tabs-dropdown-column android-dropdown"> <ul class="devsite-tabs-dropdown-section android-dropdown-section-icon android-dropdown-section-icon-design"> <li class="devsite-nav-title" role="heading" tooltip>Architecture</li> <li class="devsite-nav-description">Design robust, testable, and maintainable app logic and services.</li> <li class="devsite-nav-item"> <a href="http://web.archive.org/web/20231023210419/https://developer.android.com/topic/architecture/intro" track-type="nav" track-metadata-eventdetail="https://developer.android.com/topic/architecture/intro" track-metadata-position="nav - design & plan" track-metadata-module="tertiary nav" track-metadata-module_headline="architecture" tooltip> <div class="devsite-nav-item-title"> Introduction </div> </a> </li> <li class="devsite-nav-item"> <a href="http://web.archive.org/web/20231023210419/https://developer.android.com/topic/libraries/view-binding" track-type="nav" track-metadata-eventdetail="https://developer.android.com/topic/libraries/view-binding" track-metadata-position="nav - design & plan" track-metadata-module="tertiary nav" track-metadata-module_headline="architecture" tooltip> <div class="devsite-nav-item-title"> Libraries </div> </a> </li> <li class="devsite-nav-item"> <a href="http://web.archive.org/web/20231023210419/https://developer.android.com/guide/navigation/navigation-principles" track-type="nav" track-metadata-eventdetail="https://developer.android.com/guide/navigation/navigation-principles" track-metadata-position="nav - design & plan" track-metadata-module="tertiary nav" track-metadata-module_headline="architecture" tooltip> <div class="devsite-nav-item-title"> Navigation </div> </a> </li> <li class="devsite-nav-item"> <a href="http://web.archive.org/web/20231023210419/https://developer.android.com/topic/modularization" track-type="nav" track-metadata-eventdetail="https://developer.android.com/topic/modularization" track-metadata-position="nav - design & plan" track-metadata-module="tertiary nav" track-metadata-module_headline="architecture" tooltip> <div class="devsite-nav-item-title"> Modularization </div> </a> </li> <li class="devsite-nav-item"> <a href="http://web.archive.org/web/20231023210419/https://developer.android.com/training/testing/fundamentals" track-type="nav" track-metadata-eventdetail="https://developer.android.com/training/testing/fundamentals" track-metadata-position="nav - design & plan" track-metadata-module="tertiary nav" track-metadata-module_headline="architecture" tooltip> <div class="devsite-nav-item-title"> Testing </div> </a> </li> </ul> </div> <div class="devsite-tabs-dropdown-column android-dropdown"> <ul class="devsite-tabs-dropdown-section android-dropdown-section-icon android-dropdown-section-icon-vitals"> <li class="devsite-nav-title" role="heading" tooltip>Quality</li> <li class="devsite-nav-description">Plan for app quality and align with Play store guidelines.</li> <li class="devsite-nav-item"> <a href="http://web.archive.org/web/20231023210419/https://developer.android.com/quality" track-type="nav" track-metadata-eventdetail="https://developer.android.com/quality" track-metadata-position="nav - design & plan" track-metadata-module="tertiary nav" track-metadata-module_headline="quality" tooltip> <div class="devsite-nav-item-title"> Overview </div> </a> </li> <li class="devsite-nav-item"> <a href="http://web.archive.org/web/20231023210419/https://developer.android.com/quality/core-value" track-type="nav" track-metadata-eventdetail="https://developer.android.com/quality/core-value" track-metadata-position="nav - design & plan" track-metadata-module="tertiary nav" track-metadata-module_headline="quality" tooltip> <div class="devsite-nav-item-title"> Core value </div> </a> </li> <li class="devsite-nav-item"> <a href="http://web.archive.org/web/20231023210419/https://developer.android.com/quality/user-experience" track-type="nav" track-metadata-eventdetail="https://developer.android.com/quality/user-experience" track-metadata-position="nav - design & plan" track-metadata-module="tertiary nav" track-metadata-module_headline="quality" tooltip> <div class="devsite-nav-item-title"> User experience </div> </a> </li> <li class="devsite-nav-item"> <a href="http://web.archive.org/web/20231023210419/https://developer.android.com/quality/technical" track-type="nav" track-metadata-eventdetail="https://developer.android.com/quality/technical" track-metadata-position="nav - design & plan" track-metadata-module="tertiary nav" track-metadata-module_headline="quality" tooltip> <div class="devsite-nav-item-title"> Technical quality </div> </a> </li> <li class="devsite-nav-item"> <a href="http://web.archive.org/web/20231023210419/https://developer.android.com/quality/privacy-and-security" track-type="nav" track-metadata-eventdetail="https://developer.android.com/quality/privacy-and-security" track-metadata-position="nav - design & plan" track-metadata-module="tertiary nav" track-metadata-module_headline="quality" tooltip> <div class="devsite-nav-item-title"> Privacy & security </div> </a> </li> </ul> </div> <div class="devsite-tabs-dropdown-column android-dropdown"> <ul class="devsite-tabs-dropdown-section android-dropdown-section-icon android-dropdown-section-icon-earth"> <li class="devsite-nav-title" role="heading" tooltip>Build for Billions</li> <li class="devsite-nav-description">Create the best experience for entry-level devices</li> <li class="devsite-nav-item"> <a href="http://web.archive.org/web/20231023210419/https://developer.android.com/build-for-billions" track-type="nav" track-metadata-eventdetail="https://developer.android.com/build-for-billions" track-metadata-position="nav - design & plan" track-metadata-module="tertiary nav" track-metadata-module_headline="build for billions" tooltip> <div class="devsite-nav-item-title"> Overview </div> </a> </li> <li class="devsite-nav-item"> <a href="http://web.archive.org/web/20231023210419/https://developer.android.com/docs/quality-guidelines/build-for-billions" track-type="nav" track-metadata-eventdetail="https://developer.android.com/docs/quality-guidelines/build-for-billions" track-metadata-position="nav - design & plan" track-metadata-module="tertiary nav" track-metadata-module_headline="build for billions" tooltip> <div class="devsite-nav-item-title"> About new markets </div> </a> </li> <li class="devsite-nav-item"> <a href="http://web.archive.org/web/20231023210419/https://developer.android.com/guide/topics/androidgo" track-type="nav" track-metadata-eventdetail="https://developer.android.com/guide/topics/androidgo" track-metadata-position="nav - design & plan" track-metadata-module="tertiary nav" track-metadata-module_headline="build for billions" tooltip> <div class="devsite-nav-item-title"> Android (Go edition) </div> </a> </li> </ul> </div> </div> </div> </tab> <tab dropdown dropdown-full active> <a href="http://web.archive.org/web/20231023210419/https://developer.android.com/develop" track-metadata-eventdetail="https://developer.android.com/develop" class="devsite-tabs-content gc-analytics-event android-dropdown-tab" track-type="nav" track-metadata-position="nav - develop" track-metadata-module="primary nav" aria-label="Develop, selected" data-category="Site-Wide Custom Events" data-label="Tab: Develop" track-name="develop"> Develop </a> <a href="#" role="button" aria-haspopup="true" aria-expanded="false" aria-label="Dropdown menu for Develop" track-type="nav" track-metadata-eventdetail="https://developer.android.com/develop" track-metadata-position="nav - develop" track-metadata-module="primary nav" data-category="Site-Wide Custom Events" data-label="Tab: Develop" track-name="develop" class="devsite-tabs-dropdown-toggle devsite-icon devsite-icon-arrow-drop-down"></a> <div class="devsite-tabs-dropdown" aria-label="submenu" hidden> <div class="devsite-tabs-dropdown-content"> <div class="devsite-tabs-dropdown-column android-dropdown android-dropdown-primary android-dropdown-studio"> <ul class="devsite-tabs-dropdown-section "> <li class="devsite-nav-title" role="heading" tooltip>Android Studio</li> <li class="devsite-nav-description">Use the IDE and tools that make Android development easy. </li> <li class="devsite-nav-item"> <a href="http://web.archive.org/web/20231023210419/https://developer.android.com/studio" track-type="nav" track-metadata-eventdetail="https://developer.android.com/studio" track-metadata-position="nav - develop" track-metadata-module="tertiary nav" track-metadata-module_headline="android studio" tooltip class="button button-primary"> <div class="devsite-nav-item-title"> Get Android Studio </div> </a> </li> <li class="devsite-nav-item"> <a href="http://web.archive.org/web/20231023210419/https://developer.android.com/studio/write" track-type="nav" track-metadata-eventdetail="https://developer.android.com/studio/write" track-metadata-position="nav - develop" track-metadata-module="tertiary nav" track-metadata-module_headline="android studio" tooltip class="button button-white"> <div class="devsite-nav-item-title"> Start coding </div> </a> </li> </ul> </div> <div class="devsite-tabs-dropdown-column android-dropdown"> <ul class="devsite-tabs-dropdown-section android-dropdown-section-icon android-dropdown-section-icon-flag"> <li class="devsite-nav-title" role="heading" tooltip>Core areas</li> <li class="devsite-nav-description">Get the docs for the features you need.</li> <li class="devsite-nav-item"> <a href="http://web.archive.org/web/20231023210419/https://developer.android.com/develop/ui" track-type="nav" track-metadata-eventdetail="https://developer.android.com/develop/ui" track-metadata-position="nav - develop" track-metadata-module="tertiary nav" track-metadata-module_headline="core areas" tooltip> <div class="devsite-nav-item-title"> User interfaces </div> </a> </li> <li class="devsite-nav-item"> <a href="http://web.archive.org/web/20231023210419/https://developer.android.com/guide/topics/permissions/overview" track-type="nav" track-metadata-eventdetail="https://developer.android.com/guide/topics/permissions/overview" track-metadata-position="nav - develop" track-metadata-module="tertiary nav" track-metadata-module_headline="core areas" tooltip> <div class="devsite-nav-item-title"> Permissions </div> </a> </li> <li class="devsite-nav-item"> <a href="http://web.archive.org/web/20231023210419/https://developer.android.com/guide/background" track-type="nav" track-metadata-eventdetail="https://developer.android.com/guide/background" track-metadata-position="nav - develop" track-metadata-module="tertiary nav" track-metadata-module_headline="core areas" tooltip> <div class="devsite-nav-item-title"> Background work </div> </a> </li> <li class="devsite-nav-item"> <a href="http://web.archive.org/web/20231023210419/https://developer.android.com/guide/topics/data" track-type="nav" track-metadata-eventdetail="https://developer.android.com/guide/topics/data" track-metadata-position="nav - develop" track-metadata-module="tertiary nav" track-metadata-module_headline="core areas" tooltip> <div class="devsite-nav-item-title"> Data and files </div> </a> </li> <li class="devsite-nav-item"> <a href="http://web.archive.org/web/20231023210419/https://developer.android.com/training/sign-in" track-type="nav" track-metadata-eventdetail="https://developer.android.com/training/sign-in" track-metadata-position="nav - develop" track-metadata-module="tertiary nav" track-metadata-module_headline="core areas" tooltip> <div class="devsite-nav-item-title"> User identity </div> </a> </li> <li class="devsite-nav-item"> <a href="http://web.archive.org/web/20231023210419/https://developer.android.com/training/camera/choose-camera-library" track-type="nav" track-metadata-eventdetail="https://developer.android.com/training/camera/choose-camera-library" track-metadata-position="nav - develop" track-metadata-module="tertiary nav" track-metadata-module_headline="core areas" tooltip> <div class="devsite-nav-item-title"> Camera </div> </a> </li> <li class="devsite-nav-item"> <a href="http://web.archive.org/web/20231023210419/https://developer.android.com/develop#core-areas" track-type="nav" track-metadata-eventdetail="https://developer.android.com/develop#core-areas" track-metadata-position="nav - develop" track-metadata-module="tertiary nav" track-metadata-module_headline="core areas" tooltip> <div class="devsite-nav-item-title"> All core areas ⤵️ </div> </a> </li> </ul> </div> <div class="devsite-tabs-dropdown-column android-dropdown"> <ul class="devsite-tabs-dropdown-section android-dropdown-section-icon android-dropdown-section-icon-tools-2"> <li class="devsite-nav-title" role="heading" tooltip>Tools and workflow</li> <li class="devsite-nav-description">Use the IDE to write and build your app, or create your own pipeline.</li> <li class="devsite-nav-item"> <a href="http://web.archive.org/web/20231023210419/https://developer.android.com/studio/write" track-type="nav" track-metadata-eventdetail="https://developer.android.com/studio/write" track-metadata-position="nav - develop" track-metadata-module="tertiary nav" track-metadata-module_headline="tools and workflow" tooltip> <div class="devsite-nav-item-title"> Write and debug code </div> </a> </li> <li class="devsite-nav-item"> <a href="http://web.archive.org/web/20231023210419/https://developer.android.com/build" track-type="nav" track-metadata-eventdetail="https://developer.android.com/build" track-metadata-position="nav - develop" track-metadata-module="tertiary nav" track-metadata-module_headline="tools and workflow" tooltip> <div class="devsite-nav-item-title"> Build projects </div> </a> </li> <li class="devsite-nav-item"> <a href="http://web.archive.org/web/20231023210419/https://developer.android.com/training/testing" track-type="nav" track-metadata-eventdetail="https://developer.android.com/training/testing" track-metadata-position="nav - develop" track-metadata-module="tertiary nav" track-metadata-module_headline="tools and workflow" tooltip> <div class="devsite-nav-item-title"> Test your app </div> </a> </li> <li class="devsite-nav-item"> <a href="http://web.archive.org/web/20231023210419/https://developer.android.com/topic/performance/overview" track-type="nav" track-metadata-eventdetail="https://developer.android.com/topic/performance/overview" track-metadata-position="nav - develop" track-metadata-module="tertiary nav" track-metadata-module_headline="tools and workflow" tooltip> <div class="devsite-nav-item-title"> Performance </div> </a> </li> <li class="devsite-nav-item"> <a href="http://web.archive.org/web/20231023210419/https://developer.android.com/tools" track-type="nav" track-metadata-eventdetail="https://developer.android.com/tools" track-metadata-position="nav - develop" track-metadata-module="tertiary nav" track-metadata-module_headline="tools and workflow" tooltip> <div class="devsite-nav-item-title"> Command-line tools </div> </a> </li> <li class="devsite-nav-item"> <a href="http://web.archive.org/web/20231023210419/https://developer.android.com/reference/tools/gradle-api" track-type="nav" track-metadata-eventdetail="https://developer.android.com/reference/tools/gradle-api" track-metadata-position="nav - develop" track-metadata-module="tertiary nav" track-metadata-module_headline="tools and workflow" tooltip> <div class="devsite-nav-item-title"> Gradle plugin API </div> </a> </li> </ul> </div> <div class="devsite-tabs-dropdown-column android-dropdown"> <ul class="devsite-tabs-dropdown-section android-dropdown-section-icon android-dropdown-section-icon-multiple-screens"> <li class="devsite-nav-title" role="heading" tooltip>Devices</li> <li class="devsite-nav-description">Write code to work with particular form factors.</li> <li class="devsite-nav-item"> <a href="http://web.archive.org/web/20231023210419/https://developer.android.com/guide/topics/large-screens/get-started-with-large-screens" track-type="nav" track-metadata-eventdetail="https://developer.android.com/guide/topics/large-screens/get-started-with-large-screens" track-metadata-position="nav - develop" track-metadata-module="tertiary nav" track-metadata-module_headline="devices" tooltip> <div class="devsite-nav-item-title"> Large screens (e.g. Tablets) </div> </a> </li> <li class="devsite-nav-item"> <a href="http://web.archive.org/web/20231023210419/https://developer.android.com/training/wearables" track-type="nav" track-metadata-eventdetail="https://developer.android.com/training/wearables" track-metadata-position="nav - develop" track-metadata-module="tertiary nav" track-metadata-module_headline="devices" tooltip> <div class="devsite-nav-item-title"> Wear OS </div> </a> </li> <li class="devsite-nav-item"> <a href="http://web.archive.org/web/20231023210419/https://developer.android.com/training/cars" track-type="nav" track-metadata-eventdetail="https://developer.android.com/training/cars" track-metadata-position="nav - develop" track-metadata-module="tertiary nav" track-metadata-module_headline="devices" tooltip> <div class="devsite-nav-item-title"> Android for Cars </div> </a> </li> <li class="devsite-nav-item"> <a href="http://web.archive.org/web/20231023210419/https://developer.android.com/training/tv" track-type="nav" track-metadata-eventdetail="https://developer.android.com/training/tv" track-metadata-position="nav - develop" track-metadata-module="tertiary nav" track-metadata-module_headline="devices" tooltip> <div class="devsite-nav-item-title"> Android TV </div> </a> </li> <li class="devsite-nav-item"> <a href="http://web.archive.org/web/20231023210419/https://developer.android.com/chrome-os/intro" track-type="nav" track-metadata-eventdetail="https://developer.android.com/chrome-os/intro" track-metadata-position="nav - develop" track-metadata-module="tertiary nav" track-metadata-module_headline="devices" tooltip> <div class="devsite-nav-item-title"> ChromeOS </div> </a> </li> </ul> </div> <div class="devsite-tabs-dropdown-column android-dropdown"> <ul class="devsite-tabs-dropdown-section android-dropdown-section-icon android-dropdown-section-icon-core-library"> <li class="devsite-nav-title" role="heading" tooltip>Libraries</li> <li class="devsite-nav-description">Browse API reference documentation with all the details.</li> <li class="devsite-nav-item"> <a href="http://web.archive.org/web/20231023210419/https://developer.android.com/reference/packages" track-type="nav" track-metadata-eventdetail="https://developer.android.com/reference/packages" track-metadata-position="nav - develop" track-metadata-module="tertiary nav" track-metadata-module_headline="libraries" tooltip> <div class="devsite-nav-item-title"> Android platform </div> </a> </li> <li class="devsite-nav-item"> <a href="http://web.archive.org/web/20231023210419/https://developer.android.com/jetpack/androidx/explorer" track-type="nav" track-metadata-eventdetail="https://developer.android.com/jetpack/androidx/explorer" track-metadata-position="nav - develop" track-metadata-module="tertiary nav" track-metadata-module_headline="libraries" tooltip> <div class="devsite-nav-item-title"> Jetpack libraries </div> </a> </li> <li class="devsite-nav-item"> <a href="http://web.archive.org/web/20231023210419/https://developer.android.com/jetpack/androidx/releases/compose" track-type="nav" track-metadata-eventdetail="https://developer.android.com/jetpack/androidx/releases/compose" track-metadata-position="nav - develop" track-metadata-module="tertiary nav" track-metadata-module_headline="libraries" tooltip> <div class="devsite-nav-item-title"> Compose libraries </div> </a> </li> <li class="devsite-nav-item"> <a href="http://web.archive.org/web/20231023210419/https://developers.google.com/android/reference/packages" track-type="nav" track-metadata-eventdetail="https://developers.google.com/android/reference/packages" track-metadata-position="nav - develop" track-metadata-module="tertiary nav" track-metadata-module_headline="libraries" tooltip> <div class="devsite-nav-item-title"> Google Play services ↗️ </div> </a> </li> <li class="devsite-nav-item"> <a href="http://web.archive.org/web/20231023210419/https://play.google.com/sdks" track-type="nav" track-metadata-eventdetail="https://play.google.com/sdks" track-metadata-position="nav - develop" track-metadata-module="tertiary nav" track-metadata-module_headline="libraries" tooltip> <div class="devsite-nav-item-title"> Google Play SDK index ↗️ </div> </a> </li> </ul> </div> </div> </div> </tab> <tab> <a href="http://web.archive.org/web/20231023210419/https://developer.android.com/distribute" track-metadata-eventdetail="https://developer.android.com/distribute" class="devsite-tabs-content gc-analytics-event " track-type="nav" track-metadata-position="nav - google play" track-metadata-module="primary nav" data-category="Site-Wide Custom Events" data-label="Tab: Google Play" track-name="google play"> Google Play </a> </tab> </nav> </devsite-tabs> </div> <devsite-search aria-expanded="false" aria-haspopup="listbox" enable-signin enable-search enable-suggestions enable-query-completion project-name="Android Developers" tenant-name="Android Developers" role="combobox"> <form class="devsite-search-form" action="http://web.archive.org/web/20231023210419/https://developer.android.com/s/results" method="GET"> <div class="devsite-search-container"> <button type="button" search-open class="devsite-search-button devsite-header-icon-button button-flat material-icons" aria-label="Open search"></button> <div class="devsite-searchbox"> <input aria-activedescendant="" aria-autocomplete="list" aria-label="Search" aria-haspopup="false" aria-multiline="false" aria-label="Search box" autocomplete="off" class="devsite-search-field devsite-search-query" name="q" placeholder="Search" role="searchbox" type="text" value=""> <div class="devsite-search-image material-icons" aria-hidden="true"></div> </div> </div> </form> <button type="button" search-close class="devsite-search-button devsite-header-icon-button button-flat material-icons" aria-label="Close search"></button> </devsite-search> </div> <devsite-language-selector> <ul role="presentation"> <li role="presentation"> <a role="menuitem" lang="en">English</a> </li> <li role="presentation"> <a role="menuitem" lang="id">Bahasa Indonesia</a> </li> <li role="presentation"> <a role="menuitem" lang="es_419">Español – América Latina</a> </li> <li role="presentation"> <a role="menuitem" lang="fr">Français</a> </li> <li role="presentation"> <a role="menuitem" lang="it">Italiano</a> </li> <li role="presentation"> <a role="menuitem" lang="pt_br">Português – Brasil</a> </li> <li role="presentation"> <a role="menuitem" lang="vi">Tiếng Việt</a> </li> <li role="presentation"> <a role="menuitem" lang="tr">Türkçe</a> </li> <li role="presentation"> <a role="menuitem" lang="ar">العربيّة</a> </li> <li role="presentation"> <a role="menuitem" lang="zh_cn">中文 – 简体</a> </li> <li role="presentation"> <a role="menuitem" lang="zh_tw">中文 – 繁體</a> </li> <li role="presentation"> <a role="menuitem" lang="ja">日本語</a> </li> <li role="presentation"> <a role="menuitem" lang="ko">한국어</a> </li> </ul> </devsite-language-selector> <a class="devsite-header-link devsite-top-button button gc-analytics-event" href="http://web.archive.org/web/20231023210419/https://developer.android.com/studio" data-category="Site-Wide Custom Events" data-label="Site header link"> Android Studio </a> <devsite-user enable-profiles id="devsite-user"> <span class="button devsite-top-button" aria-hidden="true" visually-hidden>Sign in</span> </devsite-user> </div> </div> </div> <div class="devsite-collapsible-section "> <div class="devsite-header-background"> <div class="devsite-product-id-row"> <div class="devsite-product-description-row"> <ul class="devsite-breadcrumb-list"> <li class="devsite-breadcrumb-item "> <a href="http://web.archive.org/web/20231023210419/https://developer.android.com/develop" class="devsite-breadcrumb-link gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Lower Header" data-value="1" track-type="globalNav" track-name="breadcrumb" track-metadata-position="1" track-metadata-eventdetail=""> Develop </a> </li> </ul> </div> </div> <div class="devsite-doc-set-nav-row"> <devsite-tabs class="lower-tabs"> <nav class="devsite-tabs-wrapper" aria-label="Lower tabs"> <tab> <a href="http://web.archive.org/web/20231023210419/https://developer.android.com/docs" track-metadata-eventdetail="https://developer.android.com/docs" class="devsite-tabs-content gc-analytics-event " track-type="nav" track-metadata-position="nav - overview" track-metadata-module="primary nav" data-category="Site-Wide Custom Events" data-label="Tab: Overview" track-name="overview"> Overview </a> </tab> <tab active> <a href="http://web.archive.org/web/20231023210419/https://developer.android.com/guide" track-metadata-eventdetail="https://developer.android.com/guide" class="devsite-tabs-content gc-analytics-event " track-type="nav" track-metadata-position="nav - guides" track-metadata-module="primary nav" aria-label="Guides, selected" data-category="Site-Wide Custom Events" data-label="Tab: Guides" track-name="guides"> Guides </a> </tab> <tab> <a href="http://web.archive.org/web/20231023210419/https://developer.android.com/develop/ui" track-metadata-eventdetail="https://developer.android.com/develop/ui" class="devsite-tabs-content gc-analytics-event " track-type="nav" track-metadata-position="nav - ui guide" track-metadata-module="primary nav" data-category="Site-Wide Custom Events" data-label="Tab: UI Guide" track-name="ui guide"> UI Guide </a> </tab> <tab> <a href="http://web.archive.org/web/20231023210419/https://developer.android.com/reference" track-metadata-eventdetail="https://developer.android.com/reference" class="devsite-tabs-content gc-analytics-event " track-type="nav" track-metadata-position="nav - reference" track-metadata-module="primary nav" data-category="Site-Wide Custom Events" data-label="Tab: Reference" track-name="reference"> Reference </a> </tab> <tab> <a href="http://web.archive.org/web/20231023210419/https://developer.android.com/samples" track-metadata-eventdetail="https://developer.android.com/samples" class="devsite-tabs-content gc-analytics-event " track-type="nav" track-metadata-position="nav - samples" track-metadata-module="primary nav" data-category="Site-Wide Custom Events" data-label="Tab: Samples" track-name="samples"> Samples </a> </tab> </nav> </devsite-tabs> </div> </div> </div> </div> </devsite-header> <devsite-book-nav scrollbars> <nav class="devsite-book-nav devsite-nav nocontent" aria-label="Side menu"> <div class="devsite-mobile-header"> <button type="button" id="devsite-close-nav" class="devsite-header-icon-button button-flat material-icons gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Close navigation" aria-label="Close navigation"> </button> <div class="devsite-product-name-wrapper"> <a href="/web/20231023210419/https://developer.android.com/" class="devsite-site-logo-link gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Site logo" track-type="globalNav" track-name="androidDevelopers" track-metadata-position="nav" track-metadata-eventdetail="nav"> <img src="http://web.archive.org/web/20231023210419im_/https://www.gstatic.com/devrel-devsite/prod/v89c3b644dadab0c1b29fcdfaa83db3f3db74c1887a83ba5a78318ee59aec3871/android/images/rebrand/lockup.svg" class="devsite-site-logo" alt="Android Developers"> </a> <span class="devsite-product-name"> <ul class="devsite-breadcrumb-list"> <li class="devsite-breadcrumb-item "> </li> </ul> </span> </div> </div> <div class="devsite-book-nav-filter "> <span class="filter-list-icon material-icons" aria-hidden="true"></span> <input type="text" placeholder="Filter" aria-label="Type to filter" role="searchbox"> <span class="filter-clear-button hidden" data-title="Clear filter" aria-label="Clear filter" role="button" tabindex="0"></span> </div> <div class="devsite-book-nav-wrapper"> <div class="devsite-mobile-nav-top"> <ul class="devsite-nav-list"> <li class="devsite-nav-item"> <a href="/web/20231023210419/https://developer.android.com/get-started" class="devsite-nav-title gc-analytics-event " data-category="Site-Wide Custom Events" data-label="Tab: Essentials" track-name="essentials" data-category="Site-Wide Custom Events" data-label="Responsive Tab: Essentials" track-type="globalNav" track-metadata-eventdetail="globalMenu" track-metadata-position="nav"> <span class="devsite-nav-text" tooltip> Essentials </span> </a> <ul class="devsite-nav-responsive-tabs devsite-nav-has-menu "> <li class="devsite-nav-item"> <span class="devsite-nav-title" tooltip data-category="Site-Wide Custom Events" data-label="Tab: Essentials" track-name="essentials"> <span class="devsite-nav-text" tooltip menu="Essentials"> More </span> <span class="devsite-nav-icon material-icons" data-icon="forward" menu="Essentials"> </span> </span> </li> </ul> </li> <li class="devsite-nav-item"> <a href="/web/20231023210419/https://developer.android.com/design" class="devsite-nav-title gc-analytics-event " data-category="Site-Wide Custom Events" data-label="Tab: Design & Plan" track-name="design & plan" data-category="Site-Wide Custom Events" data-label="Responsive Tab: Design & Plan" track-type="globalNav" track-metadata-eventdetail="globalMenu" track-metadata-position="nav"> <span class="devsite-nav-text" tooltip> Design & Plan </span> </a> <ul class="devsite-nav-responsive-tabs devsite-nav-has-menu "> <li class="devsite-nav-item"> <span class="devsite-nav-title" tooltip data-category="Site-Wide Custom Events" data-label="Tab: Design & Plan" track-name="design & plan"> <span class="devsite-nav-text" tooltip menu="Design & Plan"> More </span> <span class="devsite-nav-icon material-icons" data-icon="forward" menu="Design & Plan"> </span> </span> </li> </ul> </li> <li class="devsite-nav-item"> <a href="/web/20231023210419/https://developer.android.com/develop" class="devsite-nav-title gc-analytics-event devsite-nav-active" data-category="Site-Wide Custom Events" data-label="Tab: Develop" track-name="develop" data-category="Site-Wide Custom Events" data-label="Responsive Tab: Develop" track-type="globalNav" track-metadata-eventdetail="globalMenu" track-metadata-position="nav"> <span class="devsite-nav-text" tooltip> Develop </span> </a> <ul class="devsite-nav-responsive-tabs devsite-nav-has-menu "> <li class="devsite-nav-item"> <span class="devsite-nav-title" tooltip data-category="Site-Wide Custom Events" data-label="Tab: Develop" track-name="develop"> <span class="devsite-nav-text" tooltip menu="Develop"> More </span> <span class="devsite-nav-icon material-icons" data-icon="forward" menu="Develop"> </span> </span> </li> </ul> <ul class="devsite-nav-responsive-tabs"> <li class="devsite-nav-item"> <a href="/web/20231023210419/https://developer.android.com/docs" class="devsite-nav-title gc-analytics-event " data-category="Site-Wide Custom Events" data-label="Tab: Overview" track-name="overview" data-category="Site-Wide Custom Events" data-label="Responsive Tab: Overview" track-type="globalNav" track-metadata-eventdetail="globalMenu" track-metadata-position="nav"> <span class="devsite-nav-text" tooltip> Overview </span> </a> </li> <li class="devsite-nav-item"> <a href="/web/20231023210419/https://developer.android.com/guide" class="devsite-nav-title gc-analytics-event devsite-nav-has-children devsite-nav-active" data-category="Site-Wide Custom Events" data-label="Tab: Guides" track-name="guides" data-category="Site-Wide Custom Events" data-label="Responsive Tab: Guides" track-type="globalNav" track-metadata-eventdetail="globalMenu" track-metadata-position="nav"> <span class="devsite-nav-text" tooltip menu="_book"> Guides </span> <span class="devsite-nav-icon material-icons" data-icon="forward" menu="_book"> </span> </a> </li> <li class="devsite-nav-item"> <a href="/web/20231023210419/https://developer.android.com/develop/ui" class="devsite-nav-title gc-analytics-event devsite-nav-has-children " data-category="Site-Wide Custom Events" data-label="Tab: UI Guide" track-name="ui guide" data-category="Site-Wide Custom Events" data-label="Responsive Tab: UI Guide" track-type="globalNav" track-metadata-eventdetail="globalMenu" track-metadata-position="nav"> <span class="devsite-nav-text" tooltip> UI Guide </span> <span class="devsite-nav-icon material-icons" data-icon="forward"> </span> </a> </li> <li class="devsite-nav-item"> <a href="/web/20231023210419/https://developer.android.com/reference" class="devsite-nav-title gc-analytics-event devsite-nav-has-children " data-category="Site-Wide Custom Events" data-label="Tab: Reference" track-name="reference" data-category="Site-Wide Custom Events" data-label="Responsive Tab: Reference" track-type="globalNav" track-metadata-eventdetail="globalMenu" track-metadata-position="nav"> <span class="devsite-nav-text" tooltip> Reference </span> <span class="devsite-nav-icon material-icons" data-icon="forward"> </span> </a> </li> <li class="devsite-nav-item"> <a href="/web/20231023210419/https://developer.android.com/samples" class="devsite-nav-title gc-analytics-event " data-category="Site-Wide Custom Events" data-label="Tab: Samples" track-name="samples" data-category="Site-Wide Custom Events" data-label="Responsive Tab: Samples" track-type="globalNav" track-metadata-eventdetail="globalMenu" track-metadata-position="nav"> <span class="devsite-nav-text" tooltip> Samples </span> </a> </li> </ul> </li> <li class="devsite-nav-item"> <a href="/web/20231023210419/https://developer.android.com/distribute" class="devsite-nav-title gc-analytics-event " data-category="Site-Wide Custom Events" data-label="Tab: Google Play" track-name="google play" data-category="Site-Wide Custom Events" data-label="Responsive Tab: Google Play" track-type="globalNav" track-metadata-eventdetail="globalMenu" track-metadata-position="nav"> <span class="devsite-nav-text" tooltip> Google Play </span> </a> </li> <li class="devsite-nav-item"> <a href="/web/20231023210419/https://developer.android.com/studio" class="devsite-nav-title gc-analytics-event " data-category="Site-Wide Custom Events" data-label="Responsive Tab: Android Studio" track-type="navMenu" track-metadata-eventdetail="globalMenu" track-metadata-position="nav"> <span class="devsite-nav-text" tooltip> Android Studio </span> </a> </li> </ul> </div> <div class="devsite-mobile-nav-bottom"> <ul class="devsite-nav-list" menu="_book"> <li class="devsite-nav-item"><a href="/web/20231023210419/https://developer.android.com/guide" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /guide" track-type="bookNav" track-name="click" track-metadata-eventdetail="/guide"><span class="devsite-nav-text" tooltip>Developer guides</span></a></li> <li class="devsite-nav-item devsite-nav-expandable devsite-nav-accordion"><div class="devsite-expandable-nav"> <a class="devsite-nav-toggle" aria-hidden="true"></a><div class="devsite-nav-title devsite-nav-title-no-path" tabindex="0" role="button"> <span class="devsite-nav-text" tooltip>App basics</span> </div><ul class="devsite-nav-section"><li class="devsite-nav-item"><a href="/web/20231023210419/https://developer.android.com/get-started/overview" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /get-started/overview" track-type="bookNav" track-name="click" track-metadata-eventdetail="/get-started/overview"><span class="devsite-nav-text" tooltip>Build your first app</span></a></li><li class="devsite-nav-item"><a href="/web/20231023210419/https://developer.android.com/guide/components/fundamentals" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /guide/components/fundamentals" track-type="bookNav" track-name="click" track-metadata-eventdetail="/guide/components/fundamentals"><span class="devsite-nav-text" tooltip>App fundamentals</span></a></li><li class="devsite-nav-item devsite-nav-expandable"><div class="devsite-expandable-nav"> <a class="devsite-nav-toggle" aria-hidden="true"></a><div class="devsite-nav-title devsite-nav-title-no-path" tabindex="0" role="button"> <span class="devsite-nav-text" tooltip>App resources</span> </div><ul class="devsite-nav-section"><li class="devsite-nav-item"><a href="/web/20231023210419/https://developer.android.com/guide/topics/resources/providing-resources" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /guide/topics/resources/providing-resources" track-type="bookNav" track-name="click" track-metadata-eventdetail="/guide/topics/resources/providing-resources"><span class="devsite-nav-text" tooltip>About app resources</span></a></li><li class="devsite-nav-item"><a href="/web/20231023210419/https://developer.android.com/guide/topics/resources/runtime-changes" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /guide/topics/resources/runtime-changes" track-type="bookNav" track-name="click" track-metadata-eventdetail="/guide/topics/resources/runtime-changes"><span class="devsite-nav-text" tooltip>Handle configuration changes</span></a></li><li class="devsite-nav-item devsite-nav-expandable"><div class="devsite-expandable-nav"> <a class="devsite-nav-toggle" aria-hidden="true"></a><div class="devsite-nav-title devsite-nav-title-no-path" tabindex="0" role="button"> <span class="devsite-nav-text" tooltip>Localization</span> </div><ul class="devsite-nav-section"><li class="devsite-nav-item"><a href="/web/20231023210419/https://developer.android.com/guide/topics/resources/localization" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /guide/topics/resources/localization" track-type="bookNav" track-name="click" track-metadata-eventdetail="/guide/topics/resources/localization"><span class="devsite-nav-text" tooltip>Localize your app</span></a></li><li class="devsite-nav-item"><a href="/web/20231023210419/https://developer.android.com/guide/topics/resources/pseudolocales" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /guide/topics/resources/pseudolocales" track-type="bookNav" track-name="click" track-metadata-eventdetail="/guide/topics/resources/pseudolocales"><span class="devsite-nav-text" tooltip>Test your app with pseudolocales</span></a></li><li class="devsite-nav-item"><a href="/web/20231023210419/https://developer.android.com/guide/topics/resources/internationalization" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /guide/topics/resources/internationalization" track-type="bookNav" track-name="click" track-metadata-eventdetail="/guide/topics/resources/internationalization"><span class="devsite-nav-text" tooltip>Unicode and internationalization support</span></a></li><li class="devsite-nav-item"><a href="/web/20231023210419/https://developer.android.com/guide/topics/resources/multilingual-support" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /guide/topics/resources/multilingual-support" track-type="bookNav" track-name="click" track-metadata-eventdetail="/guide/topics/resources/multilingual-support"><span class="devsite-nav-text" tooltip>Language and locale resolution</span></a></li><li class="devsite-nav-item"><a href="/web/20231023210419/https://developer.android.com/guide/topics/resources/app-languages" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /guide/topics/resources/app-languages" track-type="bookNav" track-name="click" track-metadata-eventdetail="/guide/topics/resources/app-languages"><span class="devsite-nav-text" tooltip>Per-app language preferences</span></a></li></ul></div></li><li class="devsite-nav-item"><a href="/web/20231023210419/https://developer.android.com/guide/topics/resources/complex-xml-resources" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /guide/topics/resources/complex-xml-resources" track-type="bookNav" track-name="click" track-metadata-eventdetail="/guide/topics/resources/complex-xml-resources"><span class="devsite-nav-text" tooltip>Complex XML resources</span></a></li><li class="devsite-nav-item devsite-nav-expandable"><div class="devsite-expandable-nav"> <a class="devsite-nav-toggle" aria-hidden="true"></a><div class="devsite-nav-title devsite-nav-title-no-path" tabindex="0" role="button"> <span class="devsite-nav-text" tooltip>Resource types</span> </div><ul class="devsite-nav-section"><li class="devsite-nav-item"><a href="/web/20231023210419/https://developer.android.com/guide/topics/resources/available-resources" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /guide/topics/resources/available-resources" track-type="bookNav" track-name="click" track-metadata-eventdetail="/guide/topics/resources/available-resources"><span class="devsite-nav-text" tooltip>About resource types</span></a></li><li class="devsite-nav-item"><a href="/web/20231023210419/https://developer.android.com/guide/topics/resources/animation-resource" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /guide/topics/resources/animation-resource" track-type="bookNav" track-name="click" track-metadata-eventdetail="/guide/topics/resources/animation-resource"><span class="devsite-nav-text" tooltip>Animation</span></a></li><li class="devsite-nav-item"><a href="/web/20231023210419/https://developer.android.com/guide/topics/resources/color-list-resource" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /guide/topics/resources/color-list-resource" track-type="bookNav" track-name="click" track-metadata-eventdetail="/guide/topics/resources/color-list-resource"><span class="devsite-nav-text" tooltip>Color state list</span></a></li><li class="devsite-nav-item"><a href="/web/20231023210419/https://developer.android.com/guide/topics/resources/drawable-resource" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /guide/topics/resources/drawable-resource" track-type="bookNav" track-name="click" track-metadata-eventdetail="/guide/topics/resources/drawable-resource"><span class="devsite-nav-text" tooltip>Drawable</span></a></li><li class="devsite-nav-item"><a href="/web/20231023210419/https://developer.android.com/guide/topics/resources/layout-resource" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /guide/topics/resources/layout-resource" track-type="bookNav" track-name="click" track-metadata-eventdetail="/guide/topics/resources/layout-resource"><span class="devsite-nav-text" tooltip>Layout</span></a></li><li class="devsite-nav-item"><a href="/web/20231023210419/https://developer.android.com/guide/topics/resources/menu-resource" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /guide/topics/resources/menu-resource" track-type="bookNav" track-name="click" track-metadata-eventdetail="/guide/topics/resources/menu-resource"><span class="devsite-nav-text" tooltip>Menu</span></a></li><li class="devsite-nav-item"><a href="/web/20231023210419/https://developer.android.com/guide/topics/resources/string-resource" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /guide/topics/resources/string-resource" track-type="bookNav" track-name="click" track-metadata-eventdetail="/guide/topics/resources/string-resource"><span class="devsite-nav-text" tooltip>String</span></a></li><li class="devsite-nav-item"><a href="/web/20231023210419/https://developer.android.com/guide/topics/resources/style-resource" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /guide/topics/resources/style-resource" track-type="bookNav" track-name="click" track-metadata-eventdetail="/guide/topics/resources/style-resource"><span class="devsite-nav-text" tooltip>Style</span></a></li><li class="devsite-nav-item"><a href="/web/20231023210419/https://developer.android.com/guide/topics/resources/font-resource" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /guide/topics/resources/font-resource" track-type="bookNav" track-name="click" track-metadata-eventdetail="/guide/topics/resources/font-resource"><span class="devsite-nav-text" tooltip>Font</span></a></li><li class="devsite-nav-item"><a href="/web/20231023210419/https://developer.android.com/guide/topics/resources/more-resources" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /guide/topics/resources/more-resources" track-type="bookNav" track-name="click" track-metadata-eventdetail="/guide/topics/resources/more-resources"><span class="devsite-nav-text" tooltip>More types</span></a></li></ul></div></li></ul></div></li><li class="devsite-nav-item devsite-nav-expandable"><div class="devsite-expandable-nav"> <a class="devsite-nav-toggle" aria-hidden="true"></a><div class="devsite-nav-title devsite-nav-title-no-path" tabindex="0" role="button"> <span class="devsite-nav-text" tooltip>App manifest file</span> </div><ul class="devsite-nav-section"><li class="devsite-nav-item"><a href="/web/20231023210419/https://developer.android.com/guide/topics/manifest/manifest-intro" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /guide/topics/manifest/manifest-intro" track-type="bookNav" track-name="click" track-metadata-eventdetail="/guide/topics/manifest/manifest-intro"><span class="devsite-nav-text" tooltip>About app manifests</span></a></li><li class="devsite-nav-item"><a href="/web/20231023210419/https://developer.android.com/guide/topics/manifest/action-element" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /guide/topics/manifest/action-element" track-type="bookNav" track-name="click" track-metadata-eventdetail="/guide/topics/manifest/action-element"><span class="devsite-nav-text" tooltip><action></span></a></li><li class="devsite-nav-item"><a href="/web/20231023210419/https://developer.android.com/guide/topics/manifest/activity-element" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /guide/topics/manifest/activity-element" track-type="bookNav" track-name="click" track-metadata-eventdetail="/guide/topics/manifest/activity-element"><span class="devsite-nav-text" tooltip><activity></span></a></li><li class="devsite-nav-item"><a href="/web/20231023210419/https://developer.android.com/guide/topics/manifest/activity-alias-element" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /guide/topics/manifest/activity-alias-element" track-type="bookNav" track-name="click" track-metadata-eventdetail="/guide/topics/manifest/activity-alias-element"><span class="devsite-nav-text" tooltip><activity-alias></span></a></li><li class="devsite-nav-item"><a href="/web/20231023210419/https://developer.android.com/guide/topics/manifest/application-element" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /guide/topics/manifest/application-element" track-type="bookNav" track-name="click" track-metadata-eventdetail="/guide/topics/manifest/application-element"><span class="devsite-nav-text" tooltip><application></span></a></li><li class="devsite-nav-item"><a href="/web/20231023210419/https://developer.android.com/guide/topics/manifest/category-element" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /guide/topics/manifest/category-element" track-type="bookNav" track-name="click" track-metadata-eventdetail="/guide/topics/manifest/category-element"><span class="devsite-nav-text" tooltip><category></span></a></li><li class="devsite-nav-item"><a href="/web/20231023210419/https://developer.android.com/guide/topics/manifest/compatible-screens-element" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /guide/topics/manifest/compatible-screens-element" track-type="bookNav" track-name="click" track-metadata-eventdetail="/guide/topics/manifest/compatible-screens-element"><span class="devsite-nav-text" tooltip><compatible-screens></span></a></li><li class="devsite-nav-item"><a href="/web/20231023210419/https://developer.android.com/guide/topics/manifest/data-element" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /guide/topics/manifest/data-element" track-type="bookNav" track-name="click" track-metadata-eventdetail="/guide/topics/manifest/data-element"><span class="devsite-nav-text" tooltip><data></span></a></li><li class="devsite-nav-item"><a href="/web/20231023210419/https://developer.android.com/guide/topics/manifest/grant-uri-permission-element" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /guide/topics/manifest/grant-uri-permission-element" track-type="bookNav" track-name="click" track-metadata-eventdetail="/guide/topics/manifest/grant-uri-permission-element"><span class="devsite-nav-text" tooltip><grant-uri-permission></span></a></li><li class="devsite-nav-item"><a href="/web/20231023210419/https://developer.android.com/guide/topics/manifest/instrumentation-element" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /guide/topics/manifest/instrumentation-element" track-type="bookNav" track-name="click" track-metadata-eventdetail="/guide/topics/manifest/instrumentation-element"><span class="devsite-nav-text" tooltip><instrumentation></span></a></li><li class="devsite-nav-item"><a href="/web/20231023210419/https://developer.android.com/guide/topics/manifest/intent-filter-element" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /guide/topics/manifest/intent-filter-element" track-type="bookNav" track-name="click" track-metadata-eventdetail="/guide/topics/manifest/intent-filter-element"><span class="devsite-nav-text" tooltip><intent-filter></span></a></li><li class="devsite-nav-item"><a href="/web/20231023210419/https://developer.android.com/guide/topics/manifest/layout-element" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /guide/topics/manifest/layout-element" track-type="bookNav" track-name="click" track-metadata-eventdetail="/guide/topics/manifest/layout-element"><span class="devsite-nav-text" tooltip><layout></span></a></li><li class="devsite-nav-item"><a href="/web/20231023210419/https://developer.android.com/guide/topics/manifest/manifest-element" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /guide/topics/manifest/manifest-element" track-type="bookNav" track-name="click" track-metadata-eventdetail="/guide/topics/manifest/manifest-element"><span class="devsite-nav-text" tooltip><manifest></span></a></li><li class="devsite-nav-item"><a href="/web/20231023210419/https://developer.android.com/guide/topics/manifest/meta-data-element" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /guide/topics/manifest/meta-data-element" track-type="bookNav" track-name="click" track-metadata-eventdetail="/guide/topics/manifest/meta-data-element"><span class="devsite-nav-text" tooltip><meta-data></span></a></li><li class="devsite-nav-item"><a href="/web/20231023210419/https://developer.android.com/guide/topics/manifest/path-permission-element" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /guide/topics/manifest/path-permission-element" track-type="bookNav" track-name="click" track-metadata-eventdetail="/guide/topics/manifest/path-permission-element"><span class="devsite-nav-text" tooltip><path-permission></span></a></li><li class="devsite-nav-item"><a href="/web/20231023210419/https://developer.android.com/guide/topics/manifest/permission-element" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /guide/topics/manifest/permission-element" track-type="bookNav" track-name="click" track-metadata-eventdetail="/guide/topics/manifest/permission-element"><span class="devsite-nav-text" tooltip><permission></span></a></li><li class="devsite-nav-item"><a href="/web/20231023210419/https://developer.android.com/guide/topics/manifest/permission-group-element" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /guide/topics/manifest/permission-group-element" track-type="bookNav" track-name="click" track-metadata-eventdetail="/guide/topics/manifest/permission-group-element"><span class="devsite-nav-text" tooltip><permission-group></span></a></li><li class="devsite-nav-item"><a href="/web/20231023210419/https://developer.android.com/guide/topics/manifest/permission-tree-element" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /guide/topics/manifest/permission-tree-element" track-type="bookNav" track-name="click" track-metadata-eventdetail="/guide/topics/manifest/permission-tree-element"><span class="devsite-nav-text" tooltip><permission-tree></span></a></li><li class="devsite-nav-item"><a href="/web/20231023210419/https://developer.android.com/guide/topics/manifest/profileable-element" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /guide/topics/manifest/profileable-element" track-type="bookNav" track-name="click" track-metadata-eventdetail="/guide/topics/manifest/profileable-element"><span class="devsite-nav-text" tooltip><profileable></span></a></li><li class="devsite-nav-item"><a href="/web/20231023210419/https://developer.android.com/guide/topics/manifest/property-element" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /guide/topics/manifest/property-element" track-type="bookNav" track-name="click" track-metadata-eventdetail="/guide/topics/manifest/property-element"><span class="devsite-nav-text" tooltip><property></span></a></li><li class="devsite-nav-item"><a href="/web/20231023210419/https://developer.android.com/guide/topics/manifest/provider-element" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /guide/topics/manifest/provider-element" track-type="bookNav" track-name="click" track-metadata-eventdetail="/guide/topics/manifest/provider-element"><span class="devsite-nav-text" tooltip><provider></span></a></li><li class="devsite-nav-item"><a href="/web/20231023210419/https://developer.android.com/guide/topics/manifest/queries-element" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /guide/topics/manifest/queries-element" track-type="bookNav" track-name="click" track-metadata-eventdetail="/guide/topics/manifest/queries-element"><span class="devsite-nav-text" tooltip><queries></span></a></li><li class="devsite-nav-item"><a href="/web/20231023210419/https://developer.android.com/guide/topics/manifest/receiver-element" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /guide/topics/manifest/receiver-element" track-type="bookNav" track-name="click" track-metadata-eventdetail="/guide/topics/manifest/receiver-element"><span class="devsite-nav-text" tooltip><receiver></span></a></li><li class="devsite-nav-item"><a href="/web/20231023210419/https://developer.android.com/guide/topics/manifest/service-element" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /guide/topics/manifest/service-element" track-type="bookNav" track-name="click" track-metadata-eventdetail="/guide/topics/manifest/service-element"><span class="devsite-nav-text" tooltip><service></span></a></li><li class="devsite-nav-item"><a href="/web/20231023210419/https://developer.android.com/guide/topics/manifest/supports-gl-texture-element" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /guide/topics/manifest/supports-gl-texture-element" track-type="bookNav" track-name="click" track-metadata-eventdetail="/guide/topics/manifest/supports-gl-texture-element"><span class="devsite-nav-text" tooltip><supports-gl-texture></span></a></li><li class="devsite-nav-item"><a href="/web/20231023210419/https://developer.android.com/guide/topics/manifest/supports-screens-element" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /guide/topics/manifest/supports-screens-element" track-type="bookNav" track-name="click" track-metadata-eventdetail="/guide/topics/manifest/supports-screens-element"><span class="devsite-nav-text" tooltip><supports-screens></span></a></li><li class="devsite-nav-item"><a href="/web/20231023210419/https://developer.android.com/guide/topics/manifest/uses-configuration-element" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /guide/topics/manifest/uses-configuration-element" track-type="bookNav" track-name="click" track-metadata-eventdetail="/guide/topics/manifest/uses-configuration-element"><span class="devsite-nav-text" tooltip><uses-configuration></span></a></li><li class="devsite-nav-item"><a href="/web/20231023210419/https://developer.android.com/guide/topics/manifest/uses-feature-element" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /guide/topics/manifest/uses-feature-element" track-type="bookNav" track-name="click" track-metadata-eventdetail="/guide/topics/manifest/uses-feature-element"><span class="devsite-nav-text" tooltip><uses-feature></span></a></li><li class="devsite-nav-item"><a href="/web/20231023210419/https://developer.android.com/guide/topics/manifest/uses-library-element" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /guide/topics/manifest/uses-library-element" track-type="bookNav" track-name="click" track-metadata-eventdetail="/guide/topics/manifest/uses-library-element"><span class="devsite-nav-text" tooltip><uses-library></span></a></li><li class="devsite-nav-item"><a href="/web/20231023210419/https://developer.android.com/guide/topics/manifest/uses-native-library-element" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /guide/topics/manifest/uses-native-library-element" track-type="bookNav" track-name="click" track-metadata-eventdetail="/guide/topics/manifest/uses-native-library-element"><span class="devsite-nav-text" tooltip><uses-native-library></span></a></li><li class="devsite-nav-item"><a href="/web/20231023210419/https://developer.android.com/guide/topics/manifest/uses-permission-element" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /guide/topics/manifest/uses-permission-element" track-type="bookNav" track-name="click" track-metadata-eventdetail="/guide/topics/manifest/uses-permission-element"><span class="devsite-nav-text" tooltip><uses-permission></span></a></li><li class="devsite-nav-item"><a href="/web/20231023210419/https://developer.android.com/guide/topics/manifest/uses-permission-sdk-23-element" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /guide/topics/manifest/uses-permission-sdk-23-element" track-type="bookNav" track-name="click" track-metadata-eventdetail="/guide/topics/manifest/uses-permission-sdk-23-element"><span class="devsite-nav-text" tooltip><uses-permission-sdk-23></span></a></li><li class="devsite-nav-item"><a href="/web/20231023210419/https://developer.android.com/guide/topics/manifest/uses-sdk-element" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /guide/topics/manifest/uses-sdk-element" track-type="bookNav" track-name="click" track-metadata-eventdetail="/guide/topics/manifest/uses-sdk-element"><span class="devsite-nav-text" tooltip><uses-sdk></span></a></li></ul></div></li></ul></div></li> <li class="devsite-nav-item devsite-nav-expandable devsite-nav-accordion"><div class="devsite-expandable-nav"> <a class="devsite-nav-toggle" aria-hidden="true"></a><div class="devsite-nav-title devsite-nav-title-no-path" tabindex="0" role="button"> <span class="devsite-nav-text" tooltip>Devices</span> </div><ul class="devsite-nav-section"><li class="devsite-nav-item devsite-nav-expandable"><div class="devsite-expandable-nav"> <a class="devsite-nav-toggle" aria-hidden="true"></a><div class="devsite-nav-title devsite-nav-title-no-path" tabindex="0" role="button"> <span class="devsite-nav-text" tooltip>Device compatibility</span> </div><ul class="devsite-nav-section"><li class="devsite-nav-item"><a href="/web/20231023210419/https://developer.android.com/guide/practices/compatibility" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /guide/practices/compatibility" track-type="bookNav" track-name="click" track-metadata-eventdetail="/guide/practices/compatibility"><span class="devsite-nav-text" tooltip>About device compatibility</span></a></li><li class="devsite-nav-item"><a href="/web/20231023210419/https://developer.android.com/guide/practices/screens_support" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /guide/practices/screens_support" track-type="bookNav" track-name="click" track-metadata-eventdetail="/guide/practices/screens_support"><span class="devsite-nav-text" tooltip>About screen compatibility</span></a></li><li class="devsite-nav-item"><a href="/web/20231023210419/https://developer.android.com/training/multiscreen/screendensities" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /training/multiscreen/screendensities" track-type="bookNav" track-name="click" track-metadata-eventdetail="/training/multiscreen/screendensities"><span class="devsite-nav-text" tooltip>Support different pixel densities</span></a></li><li class="devsite-nav-item"><a href="/web/20231023210419/https://developer.android.com/guide/practices/screens-distribution" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /guide/practices/screens-distribution" track-type="bookNav" track-name="click" track-metadata-eventdetail="/guide/practices/screens-distribution"><span class="devsite-nav-text" tooltip>Declare restricted screen support</span></a></li><li class="devsite-nav-item devsite-nav-expandable"><div class="devsite-expandable-nav"> <a class="devsite-nav-toggle" aria-hidden="true"></a><div class="devsite-nav-title devsite-nav-title-no-path" tabindex="0" role="button"> <span class="devsite-nav-text" tooltip>Multiple APK support</span> </div><ul class="devsite-nav-section"><li class="devsite-nav-item"><a href="/web/20231023210419/https://developer.android.com/google/play/publishing/multiple-apks" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /google/play/publishing/multiple-apks" track-type="bookNav" track-name="click" track-metadata-eventdetail="/google/play/publishing/multiple-apks"><span class="devsite-nav-text" tooltip>About multiple APKs</span></a></li><li class="devsite-nav-item"><a href="/web/20231023210419/https://developer.android.com/training/multiple-apks/api" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /training/multiple-apks/api" track-type="bookNav" track-name="click" track-metadata-eventdetail="/training/multiple-apks/api"><span class="devsite-nav-text" tooltip>Create multiple APKs for different API levels</span></a></li><li class="devsite-nav-item"><a href="/web/20231023210419/https://developer.android.com/training/multiple-apks/screensize" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /training/multiple-apks/screensize" track-type="bookNav" track-name="click" track-metadata-eventdetail="/training/multiple-apks/screensize"><span class="devsite-nav-text" tooltip>Create multiple APKs for different screen sizes</span></a></li><li class="devsite-nav-item"><a href="/web/20231023210419/https://developer.android.com/training/multiple-apks/texture" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /training/multiple-apks/texture" track-type="bookNav" track-name="click" track-metadata-eventdetail="/training/multiple-apks/texture"><span class="devsite-nav-text" tooltip>Create multiple APKs for different GL textures</span></a></li><li class="devsite-nav-item"><a href="/web/20231023210419/https://developer.android.com/training/multiple-apks/multiple" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /training/multiple-apks/multiple" track-type="bookNav" track-name="click" track-metadata-eventdetail="/training/multiple-apks/multiple"><span class="devsite-nav-text" tooltip>Create multiple APKs with several dimensions</span></a></li></ul></div></li><li class="devsite-nav-item"><a href="/web/20231023210419/https://developer.android.com/training/basics/supporting-devices/languages" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /training/basics/supporting-devices/languages" track-type="bookNav" track-name="click" track-metadata-eventdetail="/training/basics/supporting-devices/languages"><span class="devsite-nav-text" tooltip>Support different languages and cultures</span></a></li><li class="devsite-nav-item"><a href="/web/20231023210419/https://developer.android.com/training/basics/supporting-devices/platforms" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /training/basics/supporting-devices/platforms" track-type="bookNav" track-name="click" track-metadata-eventdetail="/training/basics/supporting-devices/platforms"><span class="devsite-nav-text" tooltip>Support different platform versions</span></a></li><li class="devsite-nav-item"><a href="/web/20231023210419/https://developer.android.com/google/play/filters" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /google/play/filters" track-type="bookNav" track-name="click" track-metadata-eventdetail="/google/play/filters"><span class="devsite-nav-text" tooltip>Filters on Google Play</span></a></li><li class="devsite-nav-item"><a href="/web/20231023210419/https://developer.android.com/google/play/requirements/64-bit" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /google/play/requirements/64-bit" track-type="bookNav" track-name="click" track-metadata-eventdetail="/google/play/requirements/64-bit"><span class="devsite-nav-text" tooltip>64-bit Support</span></a></li></ul></div></li><li class="devsite-nav-item devsite-nav-expandable"><div class="devsite-expandable-nav"> <a class="devsite-nav-toggle" aria-hidden="true"></a><div class="devsite-nav-title devsite-nav-title-no-path" tabindex="0" role="button"> <span class="devsite-nav-text" tooltip>Large screens — tablets, foldables, ChromeOS</span> </div><ul class="devsite-nav-section"><li class="devsite-nav-item"><a href="/web/20231023210419/https://developer.android.com/guide/topics/large-screens" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /guide/topics/large-screens" track-type="bookNav" track-name="click" track-metadata-eventdetail="/guide/topics/large-screens"><span class="devsite-nav-text" tooltip>Get started with large screens</span></a></li><li class="devsite-nav-item"><a href="/web/20231023210419/https://developer.android.com/guide/topics/large-screens/large-screen-canonical-layouts" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /guide/topics/large-screens/large-screen-canonical-layouts" track-type="bookNav" track-name="click" track-metadata-eventdetail="/guide/topics/large-screens/large-screen-canonical-layouts"><span class="devsite-nav-text" tooltip>Large screen canonical layouts</span></a></li><li class="devsite-nav-item devsite-nav-expandable"><div class="devsite-expandable-nav"> <a class="devsite-nav-toggle" aria-hidden="true"></a><div class="devsite-nav-title devsite-nav-title-no-path" tabindex="0" role="button"> <span class="devsite-nav-text" tooltip>Large screen ready</span> </div><ul class="devsite-nav-section"><li class="devsite-nav-item"><a href="/web/20231023210419/https://developer.android.com/guide/topics/large-screens/tier_3_overview" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /guide/topics/large-screens/tier_3_overview" track-type="bookNav" track-name="click" track-metadata-eventdetail="/guide/topics/large-screens/tier_3_overview"><span class="devsite-nav-text" tooltip>Overview</span></a></li><li class="devsite-nav-item"><a href="/web/20231023210419/https://developer.android.com/guide/topics/large-screens/multi-window-support" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /guide/topics/large-screens/multi-window-support" track-type="bookNav" track-name="click" track-metadata-eventdetail="/guide/topics/large-screens/multi-window-support"><span class="devsite-nav-text" tooltip>Multi-window support</span></a></li><li class="devsite-nav-item"><a href="/web/20231023210419/https://developer.android.com/guide/topics/large-screens/media-projection" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /guide/topics/large-screens/media-projection" track-type="bookNav" track-name="click" track-metadata-eventdetail="/guide/topics/large-screens/media-projection"><span class="devsite-nav-text" tooltip>Media projection</span></a></li><li class="devsite-nav-item"><a href="/web/20231023210419/https://developer.android.com/guide/topics/large-screens/input-compatibility-large-screens" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /guide/topics/large-screens/input-compatibility-large-screens" track-type="bookNav" track-name="click" track-metadata-eventdetail="/guide/topics/large-screens/input-compatibility-large-screens"><span class="devsite-nav-text" tooltip>Input compatibility on large screens</span></a></li></ul></div></li><li class="devsite-nav-item devsite-nav-expandable"><div class="devsite-expandable-nav"> <a class="devsite-nav-toggle" aria-hidden="true"></a><div class="devsite-nav-title devsite-nav-title-no-path" tabindex="0" role="button"> <span class="devsite-nav-text" tooltip>Large screen optimized</span> </div><ul class="devsite-nav-section"><li class="devsite-nav-item"><a href="/web/20231023210419/https://developer.android.com/guide/topics/large-screens/tier_2_overview" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /guide/topics/large-screens/tier_2_overview" track-type="bookNav" track-name="click" track-metadata-eventdetail="/guide/topics/large-screens/tier_2_overview"><span class="devsite-nav-text" tooltip>Overview</span></a></li><li class="devsite-nav-item"><a href="/web/20231023210419/https://developer.android.com/guide/topics/large-screens/support-different-screen-sizes" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /guide/topics/large-screens/support-different-screen-sizes" track-type="bookNav" track-name="click" track-metadata-eventdetail="/guide/topics/large-screens/support-different-screen-sizes"><span class="devsite-nav-text" tooltip>Support different screen sizes</span></a></li><li class="devsite-nav-item"><a href="/web/20231023210419/https://developer.android.com/guide/topics/large-screens/migrate-to-responsive-layouts" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /guide/topics/large-screens/migrate-to-responsive-layouts" track-type="bookNav" track-name="click" track-metadata-eventdetail="/guide/topics/large-screens/migrate-to-responsive-layouts"><span class="devsite-nav-text" tooltip>Migrate your UI to responsive layouts</span></a></li><li class="devsite-nav-item"><a href="/web/20231023210419/https://developer.android.com/guide/topics/large-screens/navigation-for-responsive-uis" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /guide/topics/large-screens/navigation-for-responsive-uis" track-type="bookNav" track-name="click" track-metadata-eventdetail="/guide/topics/large-screens/navigation-for-responsive-uis"><span class="devsite-nav-text" tooltip>Navigation for responsive UIs</span></a></li><li class="devsite-nav-item"><a href="/web/20231023210419/https://developer.android.com/guide/topics/large-screens/activity-embedding" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /guide/topics/large-screens/activity-embedding" track-type="bookNav" track-name="click" track-metadata-eventdetail="/guide/topics/large-screens/activity-embedding"><span class="devsite-nav-text" tooltip>Activity embedding</span></a></li></ul></div></li><li class="devsite-nav-item devsite-nav-expandable"><div class="devsite-expandable-nav"> <a class="devsite-nav-toggle" aria-hidden="true"></a><div class="devsite-nav-title devsite-nav-title-no-path" tabindex="0" role="button"> <span class="devsite-nav-text" tooltip>Large screen differentiated</span> </div><ul class="devsite-nav-section"><li class="devsite-nav-item"><a href="/web/20231023210419/https://developer.android.com/guide/topics/large-screens/tier_1_overview" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /guide/topics/large-screens/tier_1_overview" track-type="bookNav" track-name="click" track-metadata-eventdetail="/guide/topics/large-screens/tier_1_overview"><span class="devsite-nav-text" tooltip>Overview</span></a></li><li class="devsite-nav-item"><a href="/web/20231023210419/https://developer.android.com/guide/topics/large-screens/learn-about-foldables" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /guide/topics/large-screens/learn-about-foldables" track-type="bookNav" track-name="click" track-metadata-eventdetail="/guide/topics/large-screens/learn-about-foldables"><span class="devsite-nav-text" tooltip>Learn about foldables</span></a></li><li class="devsite-nav-item"><a href="/web/20231023210419/https://developer.android.com/guide/topics/large-screens/make-apps-fold-aware" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /guide/topics/large-screens/make-apps-fold-aware" track-type="bookNav" track-name="click" track-metadata-eventdetail="/guide/topics/large-screens/make-apps-fold-aware"><span class="devsite-nav-text" tooltip>Make your app fold aware</span></a></li><li class="devsite-nav-item"><a href="/web/20231023210419/https://developer.android.com/guide/topics/large-screens/foldable-display-modes" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /guide/topics/large-screens/foldable-display-modes" track-type="bookNav" track-name="click" track-metadata-eventdetail="/guide/topics/large-screens/foldable-display-modes"><span class="devsite-nav-text" tooltip>Support foldable display modes</span></a></li><li class="devsite-nav-item"><a href="/web/20231023210419/https://developer.android.com/guide/topics/large-screens/test-apps-on-foldables" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /guide/topics/large-screens/test-apps-on-foldables" track-type="bookNav" track-name="click" track-metadata-eventdetail="/guide/topics/large-screens/test-apps-on-foldables"><span class="devsite-nav-text" tooltip>Test your app on foldables</span></a></li><li class="devsite-nav-item"><a href="/web/20231023210419/https://developer.android.com/guide/topics/large-screens/advanced-stylus" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /guide/topics/large-screens/advanced-stylus" track-type="bookNav" track-name="click" track-metadata-eventdetail="/guide/topics/large-screens/advanced-stylus"><span class="devsite-nav-text" tooltip>Advanced stylus</span></a></li></ul></div></li><li class="devsite-nav-item"><a href="/web/20231023210419/https://developer.android.com/guide/topics/large-screens/large-screen-compatibility-mode" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /guide/topics/large-screens/large-screen-compatibility-mode" track-type="bookNav" track-name="click" track-metadata-eventdetail="/guide/topics/large-screens/large-screen-compatibility-mode"><span class="devsite-nav-text" tooltip>Large screen compatibility mode</span></a></li><li class="devsite-nav-item"><a href="/web/20231023210419/https://developer.android.com/guide/topics/large-screens/large-screen-cookbook" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /guide/topics/large-screens/large-screen-cookbook" track-type="bookNav" track-name="click" track-metadata-eventdetail="/guide/topics/large-screens/large-screen-cookbook"><span class="devsite-nav-text" tooltip>Large screen cookbook</span></a></li></ul></div></li><li class="devsite-nav-item devsite-nav-expandable"><div class="devsite-expandable-nav"> <a class="devsite-nav-toggle" aria-hidden="true"></a><div class="devsite-nav-title devsite-nav-title-no-path" tabindex="0" role="button"> <span class="devsite-nav-text" tooltip>Wear OS</span> </div><ul class="devsite-nav-section"><li class="devsite-nav-item"><a href="/web/20231023210419/https://developer.android.com/training/wearables" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /training/wearables" track-type="bookNav" track-name="click" track-metadata-eventdetail="/training/wearables"><span class="devsite-nav-text" tooltip>Get started</span></a></li><li class="devsite-nav-item"><a href="/web/20231023210419/https://developer.android.com/training/wearables/principles" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /training/wearables/principles" track-type="bookNav" track-name="click" track-metadata-eventdetail="/training/wearables/principles"><span class="devsite-nav-text" tooltip>Principles of Wear OS development</span></a></li><li class="devsite-nav-item"><a href="/web/20231023210419/https://developer.android.com/training/wearables/wear-v-mobile" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /training/wearables/wear-v-mobile" track-type="bookNav" track-name="click" track-metadata-eventdetail="/training/wearables/wear-v-mobile"><span class="devsite-nav-text" tooltip>Wear OS versus mobile development</span></a></li><li class="devsite-nav-item"><a href="/web/20231023210419/https://developer.android.com/training/wearables/user-interfaces" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /training/wearables/user-interfaces" track-type="bookNav" track-name="click" track-metadata-eventdetail="/training/wearables/user-interfaces"><span class="devsite-nav-text" tooltip>Wear OS user interfaces</span></a></li><li class="devsite-nav-item"><a href="/web/20231023210419/https://developer.android.com/training/wearables/accessibility" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /training/wearables/accessibility" track-type="bookNav" track-name="click" track-metadata-eventdetail="/training/wearables/accessibility"><span class="devsite-nav-text" tooltip>Accessibility on Wear OS</span></a></li><li class="devsite-nav-item devsite-nav-expandable"><div class="devsite-expandable-nav"> <a class="devsite-nav-toggle" aria-hidden="true"></a><div class="devsite-nav-title devsite-nav-title-no-path" tabindex="0" role="button"> <span class="devsite-nav-text" tooltip>Getting started</span> </div><ul class="devsite-nav-section"><li class="devsite-nav-item"><a href="/web/20231023210419/https://developer.android.com/courses/pathways/wear" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /courses/pathways/wear" track-type="bookNav" track-name="click" track-metadata-eventdetail="/courses/pathways/wear"><span class="devsite-nav-text" tooltip>Wear OS developer pathway</span></a></li><li class="devsite-nav-item"><a href="/web/20231023210419/https://developer.android.com/training/wearables/get-started/creating" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /training/wearables/get-started/creating" track-type="bookNav" track-name="click" track-metadata-eventdetail="/training/wearables/get-started/creating"><span class="devsite-nav-text" tooltip>Create and run an app</span></a></li><li class="devsite-nav-item"><a href="/web/20231023210419/https://developer.android.com/training/wearables/get-started/debugging" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /training/wearables/get-started/debugging" track-type="bookNav" track-name="click" track-metadata-eventdetail="/training/wearables/get-started/debugging"><span class="devsite-nav-text" tooltip>Debug a Wear OS app</span></a></li><li class="devsite-nav-item"><a href="/web/20231023210419/https://developer.android.com/training/wearables/get-started/connect-phone" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /training/wearables/get-started/connect-phone" track-type="bookNav" track-name="click" track-metadata-eventdetail="/training/wearables/get-started/connect-phone"><span class="devsite-nav-text" tooltip>Connect a watch to a phone</span></a></li><li class="devsite-nav-item"><a href="/web/20231023210419/https://developer.android.com/training/wearables/get-started/screenshots" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /training/wearables/get-started/screenshots" track-type="bookNav" track-name="click" track-metadata-eventdetail="/training/wearables/get-started/screenshots"><span class="devsite-nav-text" tooltip>Capture Wear UI screenshots</span></a></li></ul></div></li><li class="devsite-nav-item devsite-nav-expandable"><div class="devsite-expandable-nav"> <a class="devsite-nav-toggle" aria-hidden="true"></a><div class="devsite-nav-title devsite-nav-title-no-path" tabindex="0" role="button"> <span class="devsite-nav-text" tooltip>Apps</span> </div><ul class="devsite-nav-section"><li class="devsite-nav-item"><a href="/web/20231023210419/https://developer.android.com/training/wearables/apps" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /training/wearables/apps" track-type="bookNav" track-name="click" track-metadata-eventdetail="/training/wearables/apps"><span class="devsite-nav-text" tooltip>About Wear OS apps</span></a></li><li class="devsite-nav-item"><a href="/web/20231023210419/https://developer.android.com/training/wearables/apps/standalone-apps" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /training/wearables/apps/standalone-apps" track-type="bookNav" track-name="click" track-metadata-eventdetail="/training/wearables/apps/standalone-apps"><span class="devsite-nav-text" tooltip>Standalone apps</span></a></li><li class="devsite-nav-item"><a href="/web/20231023210419/https://developer.android.com/training/wearables/apps/auth-wear" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /training/wearables/apps/auth-wear" track-type="bookNav" track-name="click" track-metadata-eventdetail="/training/wearables/apps/auth-wear"><span class="devsite-nav-text" tooltip>Authentication</span></a></li><li class="devsite-nav-item"><a href="/web/20231023210419/https://developer.android.com/training/wearables/apps/permissions" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /training/wearables/apps/permissions" track-type="bookNav" track-name="click" track-metadata-eventdetail="/training/wearables/apps/permissions"><span class="devsite-nav-text" tooltip>Request permissions</span></a></li><li class="devsite-nav-item"><a href="/web/20231023210419/https://developer.android.com/training/wearables/apps/splash-screen" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /training/wearables/apps/splash-screen" track-type="bookNav" track-name="click" track-metadata-eventdetail="/training/wearables/apps/splash-screen"><span class="devsite-nav-text" tooltip>Add a splash screen</span></a></li><li class="devsite-nav-item"><a href="/web/20231023210419/https://developer.android.com/training/wearables/apps/location-detection" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /training/wearables/apps/location-detection" track-type="bookNav" track-name="click" track-metadata-eventdetail="/training/wearables/apps/location-detection"><span class="devsite-nav-text" tooltip>Detect location</span></a></li><li class="devsite-nav-item"><a href="/web/20231023210419/https://developer.android.com/training/wearables/apps/audio" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /training/wearables/apps/audio" track-type="bookNav" track-name="click" track-metadata-eventdetail="/training/wearables/apps/audio"><span class="devsite-nav-text" tooltip>Playing audio on wearables</span></a></li><li class="devsite-nav-item"><a href="/web/20231023210419/https://developer.android.com/training/wearables/apps/test-bluetooth-audio" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /training/wearables/apps/test-bluetooth-audio" track-type="bookNav" track-name="click" track-metadata-eventdetail="/training/wearables/apps/test-bluetooth-audio"><span class="devsite-nav-text" tooltip>Test Bluetooth audio on emulators</span></a></li><li class="devsite-nav-item"><a href="/web/20231023210419/https://developer.android.com/training/wearables/apps/launcher" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /training/wearables/apps/launcher" track-type="bookNav" track-name="click" track-metadata-eventdetail="/training/wearables/apps/launcher"><span class="devsite-nav-text" tooltip>Appear in recents and app resume</span></a></li></ul></div></li><li class="devsite-nav-item devsite-nav-expandable"><div class="devsite-expandable-nav"> <a class="devsite-nav-toggle" aria-hidden="true"></a><div class="devsite-nav-title devsite-nav-title-no-path" tabindex="0" role="button"> <span class="devsite-nav-text" tooltip>Building UI with Compose</span> </div><ul class="devsite-nav-section"><li class="devsite-nav-item"><a href="/web/20231023210419/https://developer.android.com/training/wearables/compose" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /training/wearables/compose" track-type="bookNav" track-name="click" track-metadata-eventdetail="/training/wearables/compose"><span class="devsite-nav-text" tooltip>Use Jetpack Compose on Wear OS</span></a></li><li class="devsite-nav-item"><a href="/web/20231023210419/https://developer.android.com/training/wearables/compose/performance" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /training/wearables/compose/performance" track-type="bookNav" track-name="click" track-metadata-eventdetail="/training/wearables/compose/performance"><span class="devsite-nav-text" tooltip>Compose performance</span></a></li><li class="devsite-nav-item"><a href="/web/20231023210419/https://developer.android.com/training/wearables/compose/lists" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /training/wearables/compose/lists" track-type="bookNav" track-name="click" track-metadata-eventdetail="/training/wearables/compose/lists"><span class="devsite-nav-text" tooltip>Lists with Compose</span></a></li><li class="devsite-nav-item"><a href="/web/20231023210419/https://developer.android.com/training/wearables/compose/rotary-input" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /training/wearables/compose/rotary-input" track-type="bookNav" track-name="click" track-metadata-eventdetail="/training/wearables/compose/rotary-input"><span class="devsite-nav-text" tooltip>Rotary input on Compose</span></a></li><li class="devsite-nav-item"><a href="/web/20231023210419/https://developer.android.com/training/wearables/compose/navigation" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /training/wearables/compose/navigation" track-type="bookNav" track-name="click" track-metadata-eventdetail="/training/wearables/compose/navigation"><span class="devsite-nav-text" tooltip>Navigation with Compose for Wear OS</span></a></li></ul></div></li><li class="devsite-nav-item devsite-nav-expandable"><div class="devsite-expandable-nav"> <a class="devsite-nav-toggle" aria-hidden="true"></a><div class="devsite-nav-title devsite-nav-title-no-path" tabindex="0" role="button"> <span class="devsite-nav-text" tooltip>Building UI with Views</span> </div><ul class="devsite-nav-section"><li class="devsite-nav-item"><a href="/web/20231023210419/https://developer.android.com/training/wearables/views" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /training/wearables/views" track-type="bookNav" track-name="click" track-metadata-eventdetail="/training/wearables/views"><span class="devsite-nav-text" tooltip>Build View-based UIs on Wear OS</span></a></li><li class="devsite-nav-item"><a href="/web/20231023210419/https://developer.android.com/training/wearables/views/layouts" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /training/wearables/views/layouts" track-type="bookNav" track-name="click" track-metadata-eventdetail="/training/wearables/views/layouts"><span class="devsite-nav-text" tooltip>Handle different watch shapes</span></a></li><li class="devsite-nav-item"><a href="/web/20231023210419/https://developer.android.com/training/wearables/views/lists" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /training/wearables/views/lists" track-type="bookNav" track-name="click" track-metadata-eventdetail="/training/wearables/views/lists"><span class="devsite-nav-text" tooltip>Create lists</span></a></li><li class="devsite-nav-item"><a href="/web/20231023210419/https://developer.android.com/training/wearables/views/navigation" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /training/wearables/views/navigation" track-type="bookNav" track-name="click" track-metadata-eventdetail="/training/wearables/views/navigation"><span class="devsite-nav-text" tooltip>Navigation</span></a></li><li class="devsite-nav-item"><a href="/web/20231023210419/https://developer.android.com/training/wearables/views/exit" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /training/wearables/views/exit" track-type="bookNav" track-name="click" track-metadata-eventdetail="/training/wearables/views/exit"><span class="devsite-nav-text" tooltip>Exit full screen activities on Wear</span></a></li><li class="devsite-nav-item"><a href="/web/20231023210419/https://developer.android.com/training/wearables/views/confirm" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /training/wearables/views/confirm" track-type="bookNav" track-name="click" track-metadata-eventdetail="/training/wearables/views/confirm"><span class="devsite-nav-text" tooltip>Show confirmations</span></a></li><li class="devsite-nav-item"><a href="/web/20231023210419/https://developer.android.com/training/wearables/views/always-on" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /training/wearables/views/always-on" track-type="bookNav" track-name="click" track-metadata-eventdetail="/training/wearables/views/always-on"><span class="devsite-nav-text" tooltip>Keep your app visible on Wear</span></a></li></ul></div></li><li class="devsite-nav-item devsite-nav-expandable"><div class="devsite-expandable-nav"> <a class="devsite-nav-toggle" aria-hidden="true"></a><div class="devsite-nav-title devsite-nav-title-no-path" tabindex="0" role="button"> <span class="devsite-nav-text" tooltip>Tiles and complications</span> </div><ul class="devsite-nav-section"><li class="devsite-nav-item"><a href="/web/20231023210419/https://developer.android.com/training/wearables/tiles" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /training/wearables/tiles" track-type="bookNav" track-name="click" track-metadata-eventdetail="/training/wearables/tiles"><span class="devsite-nav-text" tooltip>About tiles</span></a></li><li class="devsite-nav-item"><a href="/web/20231023210419/https://developer.android.com/training/wearables/tiles/get_started" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /training/wearables/tiles/get_started" track-type="bookNav" track-name="click" track-metadata-eventdetail="/training/wearables/tiles/get_started"><span class="devsite-nav-text" tooltip>Get started with tiles</span></a></li><li class="devsite-nav-item"><a href="/web/20231023210419/https://developer.android.com/training/wearables/tiles/update" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /training/wearables/tiles/update" track-type="bookNav" track-name="click" track-metadata-eventdetail="/training/wearables/tiles/update"><span class="devsite-nav-text" tooltip>Show periodic updates</span></a></li><li class="devsite-nav-item"><a href="/web/20231023210419/https://developer.android.com/training/wearables/tiles/dynamic" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /training/wearables/tiles/dynamic" track-type="bookNav" track-name="click" track-metadata-eventdetail="/training/wearables/tiles/dynamic"><span class="devsite-nav-text" tooltip>Show dynamic updates</span></a></li><li class="devsite-nav-item"><a href="/web/20231023210419/https://developer.android.com/training/wearables/tiles/animations" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /training/wearables/tiles/animations" track-type="bookNav" track-name="click" track-metadata-eventdetail="/training/wearables/tiles/animations"><span class="devsite-nav-text" tooltip>Animate tile elements</span></a></li><li class="devsite-nav-item"><a href="/web/20231023210419/https://developer.android.com/training/wearables/tiles/interactions" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /training/wearables/tiles/interactions" track-type="bookNav" track-name="click" track-metadata-eventdetail="/training/wearables/tiles/interactions"><span class="devsite-nav-text" tooltip>Interact with tiles</span></a></li><li class="devsite-nav-item"><a href="/web/20231023210419/https://developer.android.com/training/wearables/tiles/complications" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /training/wearables/tiles/complications" track-type="bookNav" track-name="click" track-metadata-eventdetail="/training/wearables/tiles/complications"><span class="devsite-nav-text" tooltip>Watch face complications</span></a></li><li class="devsite-nav-item"><a href="/web/20231023210419/https://developer.android.com/training/wearables/tiles/exposing-data-complications" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /training/wearables/tiles/exposing-data-complications" track-type="bookNav" track-name="click" track-metadata-eventdetail="/training/wearables/tiles/exposing-data-complications"><span class="devsite-nav-text" tooltip>Expose data to complications</span></a></li><li class="devsite-nav-item"><a href="/web/20231023210419/https://developer.android.com/training/wearables/tiles/migrate-to-protolayout" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /training/wearables/tiles/migrate-to-protolayout" track-type="bookNav" track-name="click" track-metadata-eventdetail="/training/wearables/tiles/migrate-to-protolayout"><span class="devsite-nav-text" tooltip>Migrate to ProtoLayout namespaces</span></a></li></ul></div></li><li class="devsite-nav-item devsite-nav-expandable"><div class="devsite-expandable-nav"> <a class="devsite-nav-toggle" aria-hidden="true"></a><div class="devsite-nav-title devsite-nav-title-no-path" tabindex="0" role="button"> <span class="devsite-nav-text" tooltip>Notifications</span> </div><ul class="devsite-nav-section"><li class="devsite-nav-item"><a href="/web/20231023210419/https://developer.android.com/training/wearables/notifications" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /training/wearables/notifications" track-type="bookNav" track-name="click" track-metadata-eventdetail="/training/wearables/notifications"><span class="devsite-nav-text" tooltip>Notifications on Wear OS</span></a></li><li class="devsite-nav-item"><a href="/web/20231023210419/https://developer.android.com/training/wearables/notifications/bridger" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /training/wearables/notifications/bridger" track-type="bookNav" track-name="click" track-metadata-eventdetail="/training/wearables/notifications/bridger"><span class="devsite-nav-text" tooltip>Bridging options for notifications</span></a></li><li class="devsite-nav-item"><a href="/web/20231023210419/https://developer.android.com/training/wearables/notifications/ongoing-activity" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /training/wearables/notifications/ongoing-activity" track-type="bookNav" track-name="click" track-metadata-eventdetail="/training/wearables/notifications/ongoing-activity"><span class="devsite-nav-text" tooltip>Ongoing Activities</span></a></li></ul></div></li><li class="devsite-nav-item devsite-nav-expandable"><div class="devsite-expandable-nav"> <a class="devsite-nav-toggle" aria-hidden="true"></a><div class="devsite-nav-title devsite-nav-title-no-path" tabindex="0" role="button"> <span class="devsite-nav-text" tooltip>Handling data</span> </div><ul class="devsite-nav-section"><li class="devsite-nav-item"><a href="/web/20231023210419/https://developer.android.com/training/wearables/data/dynamic" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /training/wearables/data/dynamic" track-type="bookNav" track-name="click" track-metadata-eventdetail="/training/wearables/data/dynamic"><span class="devsite-nav-text" tooltip>Dynamic expressions</span></a></li><li class="devsite-nav-item"><a href="/web/20231023210419/https://developer.android.com/training/wearables/data/data-layer" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /training/wearables/data/data-layer" track-type="bookNav" track-name="click" track-metadata-eventdetail="/training/wearables/data/data-layer"><span class="devsite-nav-text" tooltip>Send and sync data on Wear OS</span></a></li><li class="devsite-nav-item"><a href="/web/20231023210419/https://developer.android.com/training/wearables/data/network-access" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /training/wearables/data/network-access" track-type="bookNav" track-name="click" track-metadata-eventdetail="/training/wearables/data/network-access"><span class="devsite-nav-text" tooltip>Network access and sync on Wear OS</span></a></li><li class="devsite-nav-item"><a href="/web/20231023210419/https://developer.android.com/training/wearables/data/accessing" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /training/wearables/data/accessing" track-type="bookNav" track-name="click" track-metadata-eventdetail="/training/wearables/data/accessing"><span class="devsite-nav-text" tooltip>Access the Wearable Data Layer</span></a></li><li class="devsite-nav-item"><a href="/web/20231023210419/https://developer.android.com/training/wearables/data/transfer-to-new-mobile" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /training/wearables/data/transfer-to-new-mobile" track-type="bookNav" track-name="click" track-metadata-eventdetail="/training/wearables/data/transfer-to-new-mobile"><span class="devsite-nav-text" tooltip>Transfer data to a new mobile device</span></a></li><li class="devsite-nav-item"><a href="/web/20231023210419/https://developer.android.com/training/wearables/data/assets" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /training/wearables/data/assets" track-type="bookNav" track-name="click" track-metadata-eventdetail="/training/wearables/data/assets"><span class="devsite-nav-text" tooltip>Transfer assets</span></a></li><li class="devsite-nav-item"><a href="/web/20231023210419/https://developer.android.com/training/wearables/data/messages" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /training/wearables/data/messages" track-type="bookNav" track-name="click" track-metadata-eventdetail="/training/wearables/data/messages"><span class="devsite-nav-text" tooltip>Send and receive messages</span></a></li><li class="devsite-nav-item"><a href="/web/20231023210419/https://developer.android.com/training/wearables/data/events" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /training/wearables/data/events" track-type="bookNav" track-name="click" track-metadata-eventdetail="/training/wearables/data/events"><span class="devsite-nav-text" tooltip>Handle data layer events</span></a></li><li class="devsite-nav-item"><a href="/web/20231023210419/https://developer.android.com/training/wearables/data/data-items" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /training/wearables/data/data-items" track-type="bookNav" track-name="click" track-metadata-eventdetail="/training/wearables/data/data-items"><span class="devsite-nav-text" tooltip>Sync data items with the Data Layer API</span></a></li><li class="devsite-nav-item"><a href="/web/20231023210419/https://developer.android.com/training/wearables/data/cloud-backup-restore" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /training/wearables/data/cloud-backup-restore" track-type="bookNav" track-name="click" track-metadata-eventdetail="/training/wearables/data/cloud-backup-restore"><span class="devsite-nav-text" tooltip>Use cloud backup and restore</span></a></li></ul></div></li><li class="devsite-nav-item devsite-nav-expandable"><div class="devsite-expandable-nav"> <a class="devsite-nav-toggle" aria-hidden="true"></a><div class="devsite-nav-title devsite-nav-title-no-path" tabindex="0" role="button"> <span class="devsite-nav-text" tooltip>User input</span> </div><ul class="devsite-nav-section"><li class="devsite-nav-item"><a href="/web/20231023210419/https://developer.android.com/training/wearables/user-input/physical-buttons" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /training/wearables/user-input/physical-buttons" track-type="bookNav" track-name="click" track-metadata-eventdetail="/training/wearables/user-input/physical-buttons"><span class="devsite-nav-text" tooltip>Physical buttons</span></a></li><li class="devsite-nav-item"><a href="/web/20231023210419/https://developer.android.com/training/wearables/user-input/rotary-input" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /training/wearables/user-input/rotary-input" track-type="bookNav" track-name="click" track-metadata-eventdetail="/training/wearables/user-input/rotary-input"><span class="devsite-nav-text" tooltip>Rotary input on Views</span></a></li><li class="devsite-nav-item"><a href="/web/20231023210419/https://developer.android.com/training/wearables/user-input/wear-ime" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /training/wearables/user-input/wear-ime" track-type="bookNav" track-name="click" track-metadata-eventdetail="/training/wearables/user-input/wear-ime"><span class="devsite-nav-text" tooltip>Create input method editors in Wear</span></a></li><li class="devsite-nav-item"><a href="/web/20231023210419/https://developer.android.com/training/wearables/user-input/voice" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /training/wearables/user-input/voice" track-type="bookNav" track-name="click" track-metadata-eventdetail="/training/wearables/user-input/voice"><span class="devsite-nav-text" tooltip>Voice</span></a></li></ul></div></li><li class="devsite-nav-item devsite-nav-external"><a href="/web/20231023210419/https://developer.android.com/health-and-fitness/guides/health-services" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /health-and-fitness/guides/health-services" track-type="bookNav" track-name="click" track-metadata-eventdetail="/health-and-fitness/guides/health-services"><span class="devsite-nav-text" tooltip>Read sensor data using Health Services</span><span class="devsite-nav-icon material-icons" data-icon="external" data-title="External" aria-hidden="true"></span></a></li><li class="devsite-nav-item devsite-nav-expandable"><div class="devsite-expandable-nav"> <a class="devsite-nav-toggle" aria-hidden="true"></a><div class="devsite-nav-title devsite-nav-title-no-path" tabindex="0" role="button"> <span class="devsite-nav-text" tooltip>Creating watch faces</span> </div><ul class="devsite-nav-section"><li class="devsite-nav-item"><a href="/web/20231023210419/https://developer.android.com/training/wearables/watch-faces" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /training/wearables/watch-faces" track-type="bookNav" track-name="click" track-metadata-eventdetail="/training/wearables/watch-faces"><span class="devsite-nav-text" tooltip>About watch faces</span></a></li><li class="devsite-nav-item devsite-nav-expandable"><div class="devsite-expandable-nav"> <a class="devsite-nav-toggle" aria-hidden="true"></a><div class="devsite-nav-title devsite-nav-title-no-path" tabindex="0" role="button"> <span class="devsite-nav-text" tooltip>Watch Face Format</span> </div><ul class="devsite-nav-section"><li class="devsite-nav-item"><a href="/web/20231023210419/https://developer.android.com/training/wearables/wff" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /training/wearables/wff" track-type="bookNav" track-name="click" track-metadata-eventdetail="/training/wearables/wff"><span class="devsite-nav-text" tooltip>Overview</span></a></li><li class="devsite-nav-item"><a href="/web/20231023210419/https://developer.android.com/training/wearables/wff/setup" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /training/wearables/wff/setup" track-type="bookNav" track-name="click" track-metadata-eventdetail="/training/wearables/wff/setup"><span class="devsite-nav-text" tooltip>Setup</span></a></li><li class="devsite-nav-item devsite-nav-external"><a href="/web/20231023210419/https://developer.android.com/training/wearables/wff/watch-face" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /training/wearables/wff/watch-face" track-type="bookNav" track-name="click" track-metadata-eventdetail="/training/wearables/wff/watch-face"><span class="devsite-nav-text" tooltip>XML reference</span><span class="devsite-nav-icon material-icons" data-icon="external" data-title="External" aria-hidden="true"></span></a></li></ul></div></li><li class="devsite-nav-item devsite-nav-expandable"><div class="devsite-expandable-nav"> <a class="devsite-nav-toggle" aria-hidden="true"></a><div class="devsite-nav-title devsite-nav-title-no-path" tabindex="0" role="button"> <span class="devsite-nav-text" tooltip>Jetpack Watch Face APIs</span> </div><ul class="devsite-nav-section"><li class="devsite-nav-item"><a href="/web/20231023210419/https://developer.android.com/training/wearables/watch-faces/designing" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /training/wearables/watch-faces/designing" track-type="bookNav" track-name="click" track-metadata-eventdetail="/training/wearables/watch-faces/designing"><span class="devsite-nav-text" tooltip>Design watch faces</span></a></li><li class="devsite-nav-item"><a href="/web/20231023210419/https://developer.android.com/training/wearables/watch-faces/service" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /training/wearables/watch-faces/service" track-type="bookNav" track-name="click" track-metadata-eventdetail="/training/wearables/watch-faces/service"><span class="devsite-nav-text" tooltip>Build a watch face service</span></a></li><li class="devsite-nav-item"><a href="/web/20231023210419/https://developer.android.com/training/wearables/watch-faces/drawing" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /training/wearables/watch-faces/drawing" track-type="bookNav" track-name="click" track-metadata-eventdetail="/training/wearables/watch-faces/drawing"><span class="devsite-nav-text" tooltip>Draw watch faces</span></a></li><li class="devsite-nav-item"><a href="/web/20231023210419/https://developer.android.com/training/wearables/watch-faces/adding-complications" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /training/wearables/watch-faces/adding-complications" track-type="bookNav" track-name="click" track-metadata-eventdetail="/training/wearables/watch-faces/adding-complications"><span class="devsite-nav-text" tooltip>Adding complications to a watch face</span></a></li><li class="devsite-nav-item"><a href="/web/20231023210419/https://developer.android.com/training/wearables/watch-faces/interacting" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /training/wearables/watch-faces/interacting" track-type="bookNav" track-name="click" track-metadata-eventdetail="/training/wearables/watch-faces/interacting"><span class="devsite-nav-text" tooltip>Creating interactive watch faces</span></a></li><li class="devsite-nav-item"><a href="/web/20231023210419/https://developer.android.com/training/wearables/watch-faces/configuration" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /training/wearables/watch-faces/configuration" track-type="bookNav" track-name="click" track-metadata-eventdetail="/training/wearables/watch-faces/configuration"><span class="devsite-nav-text" tooltip>Provide configuration activities</span></a></li><li class="devsite-nav-item"><a href="/web/20231023210419/https://developer.android.com/training/wearables/watch-faces/issues" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /training/wearables/watch-faces/issues" track-type="bookNav" track-name="click" track-metadata-eventdetail="/training/wearables/watch-faces/issues"><span class="devsite-nav-text" tooltip>Address common issues</span></a></li><li class="devsite-nav-item"><a href="/web/20231023210419/https://developer.android.com/training/wearables/watch-faces/hardware-acceleration" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /training/wearables/watch-faces/hardware-acceleration" track-type="bookNav" track-name="click" track-metadata-eventdetail="/training/wearables/watch-faces/hardware-acceleration"><span class="devsite-nav-text" tooltip>Improve performace with hardware acceleration</span></a></li><li class="devsite-nav-item"><a href="/web/20231023210419/https://developer.android.com/training/wearables/watch-faces/performance" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /training/wearables/watch-faces/performance" track-type="bookNav" track-name="click" track-metadata-eventdetail="/training/wearables/watch-faces/performance"><span class="devsite-nav-text" tooltip>Optimize performance and battery life</span></a></li><li class="devsite-nav-item"><a href="/web/20231023210419/https://developer.android.com/training/wearables/watch-faces/self-tag" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /training/wearables/watch-faces/self-tag" track-type="bookNav" track-name="click" track-metadata-eventdetail="/training/wearables/watch-faces/self-tag"><span class="devsite-nav-text" tooltip>Self-tag watch faces</span></a></li></ul></div></li></ul></div></li><li class="devsite-nav-item devsite-nav-external"><a href="/web/20231023210419/https://developer.android.com/docs/quality-guidelines/wear-app-quality" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /docs/quality-guidelines/wear-app-quality" track-type="bookNav" track-name="click" track-metadata-eventdetail="/docs/quality-guidelines/wear-app-quality"><span class="devsite-nav-text" tooltip>Wear OS app quality</span><span class="devsite-nav-icon material-icons" data-icon="external" data-title="External" aria-hidden="true"></span></a></li><li class="devsite-nav-item"><a href="/web/20231023210419/https://developer.android.com/training/wearables/packaging" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /training/wearables/packaging" track-type="bookNav" track-name="click" track-metadata-eventdetail="/training/wearables/packaging"><span class="devsite-nav-text" tooltip>Package Wear OS apps</span></a></li><li class="devsite-nav-item"><a href="/web/20231023210419/https://developer.android.com/distribute/best-practices/launch/distribute-wear" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /distribute/best-practices/launch/distribute-wear" track-type="bookNav" track-name="click" track-metadata-eventdetail="/distribute/best-practices/launch/distribute-wear"><span class="devsite-nav-text" tooltip>Distribute to Wear OS</span></a></li><li class="devsite-nav-item"><a href="/web/20231023210419/https://developer.android.com/training/wearables/creating-app-china" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /training/wearables/creating-app-china" track-type="bookNav" track-name="click" track-metadata-eventdetail="/training/wearables/creating-app-china"><span class="devsite-nav-text" tooltip>Create Wear OS apps for China</span></a></li><li class="devsite-nav-item devsite-nav-expandable"><div class="devsite-expandable-nav"> <a class="devsite-nav-toggle" aria-hidden="true"></a><div class="devsite-nav-title devsite-nav-title-no-path" tabindex="0" role="button"> <span class="devsite-nav-text" tooltip>Releases</span> </div><ul class="devsite-nav-section"><li class="devsite-nav-item devsite-nav-expandable"><div class="devsite-expandable-nav"> <a class="devsite-nav-toggle" aria-hidden="true"></a><div class="devsite-nav-title devsite-nav-title-no-path" tabindex="0" role="button"> <span class="devsite-nav-text" tooltip>Wear OS 4</span> </div><ul class="devsite-nav-section"><li class="devsite-nav-item"><a href="/web/20231023210419/https://developer.android.com/training/wearables/versions/4" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /training/wearables/versions/4" track-type="bookNav" track-name="click" track-metadata-eventdetail="/training/wearables/versions/4"><span class="devsite-nav-text" tooltip>Overview</span></a></li><li class="devsite-nav-item"><a href="/web/20231023210419/https://developer.android.com/training/wearables/versions/4/changes" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /training/wearables/versions/4/changes" track-type="bookNav" track-name="click" track-metadata-eventdetail="/training/wearables/versions/4/changes"><span class="devsite-nav-text" tooltip>Prepare for behavior changes</span></a></li><li class="devsite-nav-item"><a href="/web/20231023210419/https://developer.android.com/training/wearables/versions/4/update-target-sdk" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /training/wearables/versions/4/update-target-sdk" track-type="bookNav" track-name="click" track-metadata-eventdetail="/training/wearables/versions/4/update-target-sdk"><span class="devsite-nav-text" tooltip>Update target SDK version</span></a></li><li class="devsite-nav-item"><a href="/web/20231023210419/https://developer.android.com/training/wearables/versions/4/features" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /training/wearables/versions/4/features" track-type="bookNav" track-name="click" track-metadata-eventdetail="/training/wearables/versions/4/features"><span class="devsite-nav-text" tooltip>Explore features</span></a></li></ul></div></li><li class="devsite-nav-item"><a href="/web/20231023210419/https://developer.android.com/training/wearables/versions/3/update" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /training/wearables/versions/3/update" track-type="bookNav" track-name="click" track-metadata-eventdetail="/training/wearables/versions/3/update"><span class="devsite-nav-text" tooltip>Wear OS 3 migration guide</span></a></li><li class="devsite-nav-item"><a href="/web/20231023210419/https://developer.android.com/wear/releases" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /wear/releases" track-type="bookNav" track-name="click" track-metadata-eventdetail="/wear/releases"><span class="devsite-nav-text" tooltip>Library release notes</span></a></li></ul></div></li></ul></div></li><li class="devsite-nav-item devsite-nav-expandable"><div class="devsite-expandable-nav"> <a class="devsite-nav-toggle" aria-hidden="true"></a><div class="devsite-nav-title devsite-nav-title-no-path" tabindex="0" role="button"> <span class="devsite-nav-text" tooltip>Android TV</span> </div><ul class="devsite-nav-section"><li class="devsite-nav-item"><a href="/web/20231023210419/https://developer.android.com/training/tv" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /training/tv" track-type="bookNav" track-name="click" track-metadata-eventdetail="/training/tv"><span class="devsite-nav-text" tooltip>In this guide</span></a></li><li class="devsite-nav-item devsite-nav-expandable"><div class="devsite-expandable-nav"> <a class="devsite-nav-toggle" aria-hidden="true"></a><div class="devsite-nav-title devsite-nav-title-no-path" tabindex="0" role="button"> <span class="devsite-nav-text" tooltip>Build TV Apps</span> </div><ul class="devsite-nav-section"><li class="devsite-nav-item"><a href="/web/20231023210419/https://developer.android.com/training/tv/start" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /training/tv/start" track-type="bookNav" track-name="click" track-metadata-eventdetail="/training/tv/start"><span class="devsite-nav-text" tooltip>In this guide</span></a></li><li class="devsite-nav-item"><a href="/web/20231023210419/https://developer.android.com/training/tv/start/start" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /training/tv/start/start" track-type="bookNav" track-name="click" track-metadata-eventdetail="/training/tv/start/start"><span class="devsite-nav-text" tooltip>Get started with TV apps</span></a></li><li class="devsite-nav-item"><a href="/web/20231023210419/https://developer.android.com/training/tv/start/libraries" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /training/tv/start/libraries" track-type="bookNav" track-name="click" track-metadata-eventdetail="/training/tv/start/libraries"><span class="devsite-nav-text" tooltip>AndroidX TV libraries</span></a></li><li class="devsite-nav-item"><a href="/web/20231023210419/https://developer.android.com/training/tv/start/hardware" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /training/tv/start/hardware" track-type="bookNav" track-name="click" track-metadata-eventdetail="/training/tv/start/hardware"><span class="devsite-nav-text" tooltip>Handle TV hardware</span></a></li><li class="devsite-nav-item"><a href="/web/20231023210419/https://developer.android.com/training/tv/start/controllers" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /training/tv/start/controllers" track-type="bookNav" track-name="click" track-metadata-eventdetail="/training/tv/start/controllers"><span class="devsite-nav-text" tooltip>Manage TV controllers</span></a></li><li class="devsite-nav-item"><a href="/web/20231023210419/https://developer.android.com/training/tv/start/layouts" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /training/tv/start/layouts" track-type="bookNav" track-name="click" track-metadata-eventdetail="/training/tv/start/layouts"><span class="devsite-nav-text" tooltip>Build TV layouts</span></a></li><li class="devsite-nav-item"><a href="/web/20231023210419/https://developer.android.com/training/tv/start/onscreen-keyboard" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /training/tv/start/onscreen-keyboard" track-type="bookNav" track-name="click" track-metadata-eventdetail="/training/tv/start/onscreen-keyboard"><span class="devsite-nav-text" tooltip>On-screen keyboard</span></a></li><li class="devsite-nav-item"><a href="/web/20231023210419/https://developer.android.com/training/tv/start/navigation" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /training/tv/start/navigation" track-type="bookNav" track-name="click" track-metadata-eventdetail="/training/tv/start/navigation"><span class="devsite-nav-text" tooltip>Create TV navigation</span></a></li><li class="devsite-nav-item"><a href="/web/20231023210419/https://developer.android.com/training/tv/start/google-tv" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /training/tv/start/google-tv" track-type="bookNav" track-name="click" track-metadata-eventdetail="/training/tv/start/google-tv"><span class="devsite-nav-text" tooltip>Best practices for driving engagement on Google TV</span></a></li></ul></div></li><li class="devsite-nav-item devsite-nav-expandable"><div class="devsite-expandable-nav"> <a class="devsite-nav-toggle" aria-hidden="true"></a><div class="devsite-nav-title devsite-nav-title-no-path" tabindex="0" role="button"> <span class="devsite-nav-text" tooltip>Build TV playback apps</span> </div><ul class="devsite-nav-section"><li class="devsite-nav-item"><a href="/web/20231023210419/https://developer.android.com/training/tv/playback" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /training/tv/playback" track-type="bookNav" track-name="click" track-metadata-eventdetail="/training/tv/playback"><span class="devsite-nav-text" tooltip>In this guide</span></a></li><li class="devsite-nav-item devsite-nav-expandable"><div class="devsite-expandable-nav"> <a class="devsite-nav-toggle" aria-hidden="true"></a><div class="devsite-nav-title devsite-nav-title-no-path" tabindex="0" role="button"> <span class="devsite-nav-text" tooltip>Buidling UI with Compose</span> </div><ul class="devsite-nav-section"><li class="devsite-nav-item"><a href="/web/20231023210419/https://developer.android.com/training/tv/playback/compose" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /training/tv/playback/compose" track-type="bookNav" track-name="click" track-metadata-eventdetail="/training/tv/playback/compose"><span class="devsite-nav-text" tooltip>Use Jetpack Compose on Android TV</span></a></li><li class="devsite-nav-item"><a href="/web/20231023210419/https://developer.android.com/training/tv/playback/compose/browse" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /training/tv/playback/compose/browse" track-type="bookNav" track-name="click" track-metadata-eventdetail="/training/tv/playback/compose/browse"><span class="devsite-nav-text" tooltip>Create a catalog browser</span></a></li><li class="devsite-nav-item"><a href="/web/20231023210419/https://developer.android.com/training/tv/playback/compose/details" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /training/tv/playback/compose/details" track-type="bookNav" track-name="click" track-metadata-eventdetail="/training/tv/playback/compose/details"><span class="devsite-nav-text" tooltip>Build a details screen</span></a></li></ul></div></li><li class="devsite-nav-item devsite-nav-expandable"><div class="devsite-expandable-nav"> <a class="devsite-nav-toggle" aria-hidden="true"></a><div class="devsite-nav-title devsite-nav-title-no-path" tabindex="0" role="button"> <span class="devsite-nav-text" tooltip>Building UI with Leanback API</span> </div><ul class="devsite-nav-section"><li class="devsite-nav-item"><a href="/web/20231023210419/https://developer.android.com/training/tv/playback/browse" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /training/tv/playback/browse" track-type="bookNav" track-name="click" track-metadata-eventdetail="/training/tv/playback/browse"><span class="devsite-nav-text" tooltip>Create a catalog browser</span></a></li><li class="devsite-nav-item"><a href="/web/20231023210419/https://developer.android.com/training/tv/playback/card" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /training/tv/playback/card" track-type="bookNav" track-name="click" track-metadata-eventdetail="/training/tv/playback/card"><span class="devsite-nav-text" tooltip>Provide a card view</span></a></li><li class="devsite-nav-item"><a href="/web/20231023210419/https://developer.android.com/training/tv/playback/details" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /training/tv/playback/details" track-type="bookNav" track-name="click" track-metadata-eventdetail="/training/tv/playback/details"><span class="devsite-nav-text" tooltip>Build a details view</span></a></li><li class="devsite-nav-item"><a href="/web/20231023210419/https://developer.android.com/training/tv/playback/transport-controls" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /training/tv/playback/transport-controls" track-type="bookNav" track-name="click" track-metadata-eventdetail="/training/tv/playback/transport-controls"><span class="devsite-nav-text" tooltip>Use transport controls</span></a></li><li class="devsite-nav-item"><a href="/web/20231023210419/https://developer.android.com/training/tv/playback/onboarding" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /training/tv/playback/onboarding" track-type="bookNav" track-name="click" track-metadata-eventdetail="/training/tv/playback/onboarding"><span class="devsite-nav-text" tooltip>Introduce first-time users to your app</span></a></li><li class="devsite-nav-item"><a href="/web/20231023210419/https://developer.android.com/training/tv/playback/guided-step" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /training/tv/playback/guided-step" track-type="bookNav" track-name="click" track-metadata-eventdetail="/training/tv/playback/guided-step"><span class="devsite-nav-text" tooltip>Add a guided step</span></a></li></ul></div></li><li class="devsite-nav-item"><a href="/web/20231023210419/https://developer.android.com/training/tv/playback/ambient-mode" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /training/tv/playback/ambient-mode" track-type="bookNav" track-name="click" track-metadata-eventdetail="/training/tv/playback/ambient-mode"><span class="devsite-nav-text" tooltip>Ambient mode</span></a></li><li class="devsite-nav-item"><a href="/web/20231023210419/https://developer.android.com/training/tv/playback/controls" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /training/tv/playback/controls" track-type="bookNav" track-name="click" track-metadata-eventdetail="/training/tv/playback/controls"><span class="devsite-nav-text" tooltip>Playback controls on TV</span></a></li><li class="devsite-nav-item"><a href="/web/20231023210419/https://developer.android.com/training/tv/playback/media-session" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /training/tv/playback/media-session" track-type="bookNav" track-name="click" track-metadata-eventdetail="/training/tv/playback/media-session"><span class="devsite-nav-text" tooltip>Implement a media session</span></a></li><li class="devsite-nav-item"><a href="/web/20231023210419/https://developer.android.com/training/tv/playback/now-playing" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /training/tv/playback/now-playing" track-type="bookNav" track-name="click" track-metadata-eventdetail="/training/tv/playback/now-playing"><span class="devsite-nav-text" tooltip>Background playback in a Now Playing card</span></a></li><li class="devsite-nav-item"><a href="/web/20231023210419/https://developer.android.com/training/tv/playback/audio-capabilities" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /training/tv/playback/audio-capabilities" track-type="bookNav" track-name="click" track-metadata-eventdetail="/training/tv/playback/audio-capabilities"><span class="devsite-nav-text" tooltip>Audio capabilities</span></a></li><li class="devsite-nav-item"><a href="/web/20231023210419/https://developer.android.com/training/tv/playback/framerate" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /training/tv/playback/framerate" track-type="bookNav" track-name="click" track-metadata-eventdetail="/training/tv/playback/framerate"><span class="devsite-nav-text" tooltip>Match content frame rate</span></a></li></ul></div></li><li class="devsite-nav-item devsite-nav-expandable"><div class="devsite-expandable-nav"> <a class="devsite-nav-toggle" aria-hidden="true"></a><div class="devsite-nav-title devsite-nav-title-no-path" tabindex="0" role="button"> <span class="devsite-nav-text" tooltip>Help users find content on TV</span> </div><ul class="devsite-nav-section"><li class="devsite-nav-item"><a href="/web/20231023210419/https://developer.android.com/training/tv/discovery" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /training/tv/discovery" track-type="bookNav" track-name="click" track-metadata-eventdetail="/training/tv/discovery"><span class="devsite-nav-text" tooltip>About finding TV content</span></a></li><li class="devsite-nav-item devsite-nav-expandable"><div class="devsite-expandable-nav"> <a class="devsite-nav-toggle" aria-hidden="true"></a><div class="devsite-nav-title devsite-nav-title-no-path" tabindex="0" role="button"> <span class="devsite-nav-text" tooltip>Recommend TV content</span> </div><ul class="devsite-nav-section"><li class="devsite-nav-item"><a href="/web/20231023210419/https://developer.android.com/training/tv/discovery/recommendations" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /training/tv/discovery/recommendations" track-type="bookNav" track-name="click" track-metadata-eventdetail="/training/tv/discovery/recommendations"><span class="devsite-nav-text" tooltip>About recommending TV content</span></a></li><li class="devsite-nav-item"><a href="/web/20231023210419/https://developer.android.com/training/tv/discovery/recommendations-channel" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /training/tv/discovery/recommendations-channel" track-type="bookNav" track-name="click" track-metadata-eventdetail="/training/tv/discovery/recommendations-channel"><span class="devsite-nav-text" tooltip>Channels on the home screen</span></a></li><li class="devsite-nav-item"><a href="/web/20231023210419/https://developer.android.com/training/tv/discovery/video-programs" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /training/tv/discovery/video-programs" track-type="bookNav" track-name="click" track-metadata-eventdetail="/training/tv/discovery/video-programs"><span class="devsite-nav-text" tooltip>Video program attributes</span></a></li><li class="devsite-nav-item"><a href="/web/20231023210419/https://developer.android.com/training/tv/discovery/audio-programs" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /training/tv/discovery/audio-programs" track-type="bookNav" track-name="click" track-metadata-eventdetail="/training/tv/discovery/audio-programs"><span class="devsite-nav-text" tooltip>Audio program attributes</span></a></li><li class="devsite-nav-item"><a href="/web/20231023210419/https://developer.android.com/training/tv/discovery/game-programs" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /training/tv/discovery/game-programs" track-type="bookNav" track-name="click" track-metadata-eventdetail="/training/tv/discovery/game-programs"><span class="devsite-nav-text" tooltip>Game program attributes</span></a></li><li class="devsite-nav-item devsite-nav-expandable"><div class="devsite-expandable-nav"> <a class="devsite-nav-toggle" aria-hidden="true"></a><div class="devsite-nav-title devsite-nav-title-no-path" tabindex="0" role="button"> <span class="devsite-nav-text" tooltip>Watch Next</span> </div><ul class="devsite-nav-section"><li class="devsite-nav-item"><a href="/web/20231023210419/https://developer.android.com/training/tv/discovery/watch-next-add-programs" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /training/tv/discovery/watch-next-add-programs" track-type="bookNav" track-name="click" track-metadata-eventdetail="/training/tv/discovery/watch-next-add-programs"><span class="devsite-nav-text" tooltip>Add programs</span></a></li><li class="devsite-nav-item"><a href="/web/20231023210419/https://developer.android.com/training/tv/discovery/watch-next-programs" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /training/tv/discovery/watch-next-programs" track-type="bookNav" track-name="click" track-metadata-eventdetail="/training/tv/discovery/watch-next-programs"><span class="devsite-nav-text" tooltip>Attributes</span></a></li><li class="devsite-nav-item"><a href="/web/20231023210419/https://developer.android.com/training/tv/discovery/guidelines-app-developers" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /training/tv/discovery/guidelines-app-developers" track-type="bookNav" track-name="click" track-metadata-eventdetail="/training/tv/discovery/guidelines-app-developers"><span class="devsite-nav-text" tooltip>Guidelines for app developers</span></a></li><li class="devsite-nav-item"><a href="/web/20231023210419/https://developer.android.com/training/tv/discovery/guidelines-tv-providers" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /training/tv/discovery/guidelines-tv-providers" track-type="bookNav" track-name="click" track-metadata-eventdetail="/training/tv/discovery/guidelines-tv-providers"><span class="devsite-nav-text" tooltip>Guidelines for TV providers</span></a></li></ul></div></li><li class="devsite-nav-item"><a href="/web/20231023210419/https://developer.android.com/training/tv/discovery/preview-videos" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /training/tv/discovery/preview-videos" track-type="bookNav" track-name="click" track-metadata-eventdetail="/training/tv/discovery/preview-videos"><span class="devsite-nav-text" tooltip>Preview videos</span></a></li><li class="devsite-nav-item"><a href="/web/20231023210419/https://developer.android.com/training/tv/discovery/recommendations-row" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /training/tv/discovery/recommendations-row" track-type="bookNav" track-name="click" track-metadata-eventdetail="/training/tv/discovery/recommendations-row"><span class="devsite-nav-text" tooltip>Recommendations in Android N and earlier</span></a></li></ul></div></li><li class="devsite-nav-item"><a href="/web/20231023210419/https://developer.android.com/training/tv/discovery/searchable" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /training/tv/discovery/searchable" track-type="bookNav" track-name="click" track-metadata-eventdetail="/training/tv/discovery/searchable"><span class="devsite-nav-text" tooltip>Make TV apps searchable</span></a></li><li class="devsite-nav-item"><a href="/web/20231023210419/https://developer.android.com/training/tv/discovery/in-app-search" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /training/tv/discovery/in-app-search" track-type="bookNav" track-name="click" track-metadata-eventdetail="/training/tv/discovery/in-app-search"><span class="devsite-nav-text" tooltip>Search within TV Apps</span></a></li></ul></div></li><li class="devsite-nav-item devsite-nav-expandable"><div class="devsite-expandable-nav"> <a class="devsite-nav-toggle" aria-hidden="true"></a><div class="devsite-nav-title devsite-nav-title-no-path" tabindex="0" role="button"> <span class="devsite-nav-text" tooltip>Build TV games</span> </div><ul class="devsite-nav-section"><li class="devsite-nav-item"><a href="/web/20231023210419/https://developer.android.com/training/tv/games" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /training/tv/games" track-type="bookNav" track-name="click" track-metadata-eventdetail="/training/tv/games"><span class="devsite-nav-text" tooltip>About TV games</span></a></li></ul></div></li><li class="devsite-nav-item devsite-nav-expandable"><div class="devsite-expandable-nav"> <a class="devsite-nav-toggle" aria-hidden="true"></a><div class="devsite-nav-title devsite-nav-title-no-path" tabindex="0" role="button"> <span class="devsite-nav-text" tooltip>Build TV input services</span> </div><ul class="devsite-nav-section"><li class="devsite-nav-item"><a href="/web/20231023210419/https://developer.android.com/training/tv/tif" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /training/tv/tif" track-type="bookNav" track-name="click" track-metadata-eventdetail="/training/tv/tif"><span class="devsite-nav-text" tooltip>About TV input services</span></a></li><li class="devsite-nav-item"><a href="/web/20231023210419/https://developer.android.com/training/tv/tif/tvinput" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /training/tv/tif/tvinput" track-type="bookNav" track-name="click" track-metadata-eventdetail="/training/tv/tif/tvinput"><span class="devsite-nav-text" tooltip>Develop a TV input service</span></a></li><li class="devsite-nav-item"><a href="/web/20231023210419/https://developer.android.com/training/tv/tif/channel" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /training/tv/tif/channel" track-type="bookNav" track-name="click" track-metadata-eventdetail="/training/tv/tif/channel"><span class="devsite-nav-text" tooltip>Work with channel data</span></a></li><li class="devsite-nav-item"><a href="/web/20231023210419/https://developer.android.com/training/tv/tif/ui" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /training/tv/tif/ui" track-type="bookNav" track-name="click" track-metadata-eventdetail="/training/tv/tif/ui"><span class="devsite-nav-text" tooltip>Manage TV user interaction</span></a></li><li class="devsite-nav-item"><a href="/web/20231023210419/https://developer.android.com/training/tv/tif/time-shifting" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /training/tv/tif/time-shifting" track-type="bookNav" track-name="click" track-metadata-eventdetail="/training/tv/tif/time-shifting"><span class="devsite-nav-text" tooltip>Support time-shifting</span></a></li><li class="devsite-nav-item"><a href="/web/20231023210419/https://developer.android.com/training/tv/tif/content-recording" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /training/tv/tif/content-recording" track-type="bookNav" track-name="click" track-metadata-eventdetail="/training/tv/tif/content-recording"><span class="devsite-nav-text" tooltip>Support content recording</span></a></li></ul></div></li><li class="devsite-nav-item devsite-nav-expandable"><div class="devsite-expandable-nav"> <a class="devsite-nav-toggle" aria-hidden="true"></a><div class="devsite-nav-title devsite-nav-title-no-path" tabindex="0" role="button"> <span class="devsite-nav-text" tooltip>TV Accessibility</span> </div><ul class="devsite-nav-section"><li class="devsite-nav-item"><a href="/web/20231023210419/https://developer.android.com/training/tv/accessibility" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /training/tv/accessibility" track-type="bookNav" track-name="click" track-metadata-eventdetail="/training/tv/accessibility"><span class="devsite-nav-text" tooltip>Accessibility best practices</span></a></li><li class="devsite-nav-item"><a href="/web/20231023210419/https://developer.android.com/training/tv/accessibility/talkback" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /training/tv/accessibility/talkback" track-type="bookNav" track-name="click" track-metadata-eventdetail="/training/tv/accessibility/talkback"><span class="devsite-nav-text" tooltip>TalkBack evaluation examples</span></a></li><li class="devsite-nav-item"><a href="/web/20231023210419/https://developer.android.com/training/tv/accessibility/talkback-support" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /training/tv/accessibility/talkback-support" track-type="bookNav" track-name="click" track-metadata-eventdetail="/training/tv/accessibility/talkback-support"><span class="devsite-nav-text" tooltip>Support TalkBack in TV apps</span></a></li><li class="devsite-nav-item"><a href="/web/20231023210419/https://developer.android.com/training/tv/accessibility/system-caption-settings" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /training/tv/accessibility/system-caption-settings" track-type="bookNav" track-name="click" track-metadata-eventdetail="/training/tv/accessibility/system-caption-settings"><span class="devsite-nav-text" tooltip>Adopt system caption settings</span></a></li><li class="devsite-nav-item"><a href="/web/20231023210419/https://developer.android.com/training/tv/accessibility/custom-views" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /training/tv/accessibility/custom-views" track-type="bookNav" track-name="click" track-metadata-eventdetail="/training/tv/accessibility/custom-views"><span class="devsite-nav-text" tooltip>Custom view accessibility support</span></a></li><li class="devsite-nav-item"><a href="/web/20231023210419/https://developer.android.com/training/tv/accessibility/custom-views-sample" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /training/tv/accessibility/custom-views-sample" track-type="bookNav" track-name="click" track-metadata-eventdetail="/training/tv/accessibility/custom-views-sample"><span class="devsite-nav-text" tooltip>Custom view accessibility sample</span></a></li></ul></div></li><li class="devsite-nav-item"><a href="/web/20231023210419/https://developer.android.com/training/tv/publishing/checklist" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /training/tv/publishing/checklist" track-type="bookNav" track-name="click" track-metadata-eventdetail="/training/tv/publishing/checklist"><span class="devsite-nav-text" tooltip>TV Apps checklist</span></a></li><li class="devsite-nav-item"><a href="/web/20231023210419/https://developer.android.com/training/tv/publishing/distribute" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /training/tv/publishing/distribute" track-type="bookNav" track-name="click" track-metadata-eventdetail="/training/tv/publishing/distribute"><span class="devsite-nav-text" tooltip>Distribute to Android TV</span></a></li><li class="devsite-nav-item devsite-nav-expandable"><div class="devsite-expandable-nav"> <a class="devsite-nav-toggle" aria-hidden="true"></a><div class="devsite-nav-title devsite-nav-title-no-path" tabindex="0" role="button"> <span class="devsite-nav-text" tooltip>Releases</span> </div><ul class="devsite-nav-section"><li class="devsite-nav-item"><a href="/web/20231023210419/https://developer.android.com/tv/release/12" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /tv/release/12" track-type="bookNav" track-name="click" track-metadata-eventdetail="/tv/release/12"><span class="devsite-nav-text" tooltip>Android 12 for TV</span></a></li><li class="devsite-nav-item"><a href="/web/20231023210419/https://developer.android.com/tv/release/13" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /tv/release/13" track-type="bookNav" track-name="click" track-metadata-eventdetail="/tv/release/13"><span class="devsite-nav-text" tooltip>Android 13 for TV</span></a></li></ul></div></li></ul></div></li><li class="devsite-nav-item devsite-nav-expandable"><div class="devsite-expandable-nav"> <a class="devsite-nav-toggle" aria-hidden="true"></a><div class="devsite-nav-title devsite-nav-title-no-path" tabindex="0" role="button"> <span class="devsite-nav-text" tooltip>Android for Cars</span> </div><ul class="devsite-nav-section"><li class="devsite-nav-item"><a href="/web/20231023210419/https://developer.android.com/training/cars" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /training/cars" track-type="bookNav" track-name="click" track-metadata-eventdetail="/training/cars"><span class="devsite-nav-text" tooltip>About Android for Cars</span></a></li><li class="devsite-nav-item"><a href="/web/20231023210419/https://developer.android.com/docs/quality-guidelines/car-app-quality" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /docs/quality-guidelines/car-app-quality" track-type="bookNav" track-name="click" track-metadata-eventdetail="/docs/quality-guidelines/car-app-quality"><span class="devsite-nav-text" tooltip>Car app quality ⍈</span></a></li><li class="devsite-nav-item devsite-nav-expandable"><div class="devsite-expandable-nav"> <a class="devsite-nav-toggle" aria-hidden="true"></a><div class="devsite-nav-title devsite-nav-title-no-path" tabindex="0" role="button"> <span class="devsite-nav-text" tooltip>Build media apps for cars</span> </div><ul class="devsite-nav-section"><li class="devsite-nav-item"><a href="/web/20231023210419/https://developer.android.com/training/cars/media" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /training/cars/media" track-type="bookNav" track-name="click" track-metadata-eventdetail="/training/cars/media"><span class="devsite-nav-text" tooltip>Build media apps for cars</span></a></li><li class="devsite-nav-item"><a href="/web/20231023210419/https://developer.android.com/training/cars/media/auto" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /training/cars/media/auto" track-type="bookNav" track-name="click" track-metadata-eventdetail="/training/cars/media/auto"><span class="devsite-nav-text" tooltip>Add support for Android Auto</span></a></li><li class="devsite-nav-item"><a href="/web/20231023210419/https://developer.android.com/training/cars/media/automotive-os" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /training/cars/media/automotive-os" track-type="bookNav" track-name="click" track-metadata-eventdetail="/training/cars/media/automotive-os"><span class="devsite-nav-text" tooltip>Add support for Android Automotive OS</span></a></li></ul></div></li><li class="devsite-nav-item"><a href="/web/20231023210419/https://developer.android.com/training/cars/messaging" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /training/cars/messaging" track-type="bookNav" track-name="click" track-metadata-eventdetail="/training/cars/messaging"><span class="devsite-nav-text" tooltip>Build messaging apps for Android Auto</span></a></li><li class="devsite-nav-item devsite-nav-expandable"><div class="devsite-expandable-nav"> <a class="devsite-nav-toggle" aria-hidden="true"></a><div class="devsite-nav-title devsite-nav-title-no-path" tabindex="0" role="button"> <span class="devsite-nav-text" tooltip>Build point of interest, internet of things, and navigation apps for cars</span> </div><ul class="devsite-nav-section"><li class="devsite-nav-item"><a href="/web/20231023210419/https://developer.android.com/training/cars/apps" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /training/cars/apps" track-type="bookNav" track-name="click" track-metadata-eventdetail="/training/cars/apps"><span class="devsite-nav-text" tooltip>Using the Android for Cars App Library</span></a></li><li class="devsite-nav-item"><a href="/web/20231023210419/https://developer.android.com/training/cars/apps/poi" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /training/cars/apps/poi" track-type="bookNav" track-name="click" track-metadata-eventdetail="/training/cars/apps/poi"><span class="devsite-nav-text" tooltip>Build point of interest apps for cars</span></a></li><li class="devsite-nav-item"><a href="/web/20231023210419/https://developer.android.com/training/cars/apps/iot" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /training/cars/apps/iot" track-type="bookNav" track-name="click" track-metadata-eventdetail="/training/cars/apps/iot"><span class="devsite-nav-text" tooltip>Build internet of things apps for cars</span></a></li><li class="devsite-nav-item"><a href="/web/20231023210419/https://developer.android.com/training/cars/apps/navigation" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /training/cars/apps/navigation" track-type="bookNav" track-name="click" track-metadata-eventdetail="/training/cars/apps/navigation"><span class="devsite-nav-text" tooltip>Build navigation apps for cars</span></a></li><li class="devsite-nav-item"><a href="/web/20231023210419/https://developer.android.com/training/cars/apps/auto" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /training/cars/apps/auto" track-type="bookNav" track-name="click" track-metadata-eventdetail="/training/cars/apps/auto"><span class="devsite-nav-text" tooltip>Add support for Android Auto</span></a></li><li class="devsite-nav-item"><a href="/web/20231023210419/https://developer.android.com/training/cars/apps/automotive-os" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /training/cars/apps/automotive-os" track-type="bookNav" track-name="click" track-metadata-eventdetail="/training/cars/apps/automotive-os"><span class="devsite-nav-text" tooltip>Add support for Android Automotive OS</span></a></li></ul></div></li><li class="devsite-nav-item devsite-nav-expandable"><div class="devsite-expandable-nav"> <a class="devsite-nav-toggle" aria-hidden="true"></a><div class="devsite-nav-title devsite-nav-title-no-path" tabindex="0" role="button"> <span class="devsite-nav-text" tooltip>Build parked apps for Android Automotive OS</span> </div><ul class="devsite-nav-section"><li class="devsite-nav-item"><a href="/web/20231023210419/https://developer.android.com/training/cars/parked" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /training/cars/parked" track-type="bookNav" track-name="click" track-metadata-eventdetail="/training/cars/parked"><span class="devsite-nav-text" tooltip>About parked apps</span></a></li><li class="devsite-nav-item"><a href="/web/20231023210419/https://developer.android.com/training/cars/parked/video" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /training/cars/parked/video" track-type="bookNav" track-name="click" track-metadata-eventdetail="/training/cars/parked/video"><span class="devsite-nav-text" tooltip>Build video apps</span></a></li><li class="devsite-nav-item"><a href="/web/20231023210419/https://developer.android.com/training/cars/parked/games" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /training/cars/parked/games" track-type="bookNav" track-name="click" track-metadata-eventdetail="/training/cars/parked/games"><span class="devsite-nav-text" tooltip>Build games</span></a></li><li class="devsite-nav-item"><a href="/web/20231023210419/https://developer.android.com/training/cars/parked/browser" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /training/cars/parked/browser" track-type="bookNav" track-name="click" track-metadata-eventdetail="/training/cars/parked/browser"><span class="devsite-nav-text" tooltip>Build browsers</span></a></li></ul></div></li><li class="devsite-nav-item devsite-nav-expandable"><div class="devsite-expandable-nav"> <a class="devsite-nav-toggle" aria-hidden="true"></a><div class="devsite-nav-title devsite-nav-title-no-path" tabindex="0" role="button"> <span class="devsite-nav-text" tooltip>Test Android apps for cars</span> </div><ul class="devsite-nav-section"><li class="devsite-nav-item"><a href="/web/20231023210419/https://developer.android.com/training/cars/testing" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /training/cars/testing" track-type="bookNav" track-name="click" track-metadata-eventdetail="/training/cars/testing"><span class="devsite-nav-text" tooltip>Overview</span></a></li><li class="devsite-nav-item"><a href="/web/20231023210419/https://developer.android.com/training/cars/testing/dhu" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /training/cars/testing/dhu" track-type="bookNav" track-name="click" track-metadata-eventdetail="/training/cars/testing/dhu"><span class="devsite-nav-text" tooltip>Test using the Desktop Head Unit</span></a></li><li class="devsite-nav-item"><a href="/web/20231023210419/https://developer.android.com/training/cars/testing/emulator" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /training/cars/testing/emulator" track-type="bookNav" track-name="click" track-metadata-eventdetail="/training/cars/testing/emulator"><span class="devsite-nav-text" tooltip>Test using the Android Automotive OS emulator</span></a></li></ul></div></li><li class="devsite-nav-item"><a href="/web/20231023210419/https://developer.android.com/training/cars/distribute" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /training/cars/distribute" track-type="bookNav" track-name="click" track-metadata-eventdetail="/training/cars/distribute"><span class="devsite-nav-text" tooltip>Distribute Android apps for cars</span></a></li><li class="devsite-nav-item"><a href="/web/20231023210419/https://developer.android.com/training/cars/google-services" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /training/cars/google-services" track-type="bookNav" track-name="click" track-metadata-eventdetail="/training/cars/google-services"><span class="devsite-nav-text" tooltip>Google Play services for cars</span></a></li><li class="devsite-nav-item"><a href="/web/20231023210419/https://developer.android.com/training/cars/notifications" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /training/cars/notifications" track-type="bookNav" track-name="click" track-metadata-eventdetail="/training/cars/notifications"><span class="devsite-nav-text" tooltip>Notifications on Android Automotive OS</span></a></li></ul></div></li><li class="devsite-nav-item devsite-nav-expandable"><div class="devsite-expandable-nav"> <a class="devsite-nav-toggle" aria-hidden="true"></a><div class="devsite-nav-title devsite-nav-title-no-path" tabindex="0" role="button"> <span class="devsite-nav-text" tooltip>ChromeOS devices</span> </div><ul class="devsite-nav-section"><li class="devsite-nav-item"><a href="/web/20231023210419/https://developer.android.com/chrome-os/intro" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /chrome-os/intro" track-type="bookNav" track-name="click" track-metadata-eventdetail="/chrome-os/intro"><span class="devsite-nav-text" tooltip>About ChromeOS</span></a></li><li class="devsite-nav-item"><a href="/web/20231023210419/https://developer.android.com/topic/arc" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /topic/arc" track-type="bookNav" track-name="click" track-metadata-eventdetail="/topic/arc"><span class="devsite-nav-text" tooltip>Building apps for ChromeOS</span></a></li><li class="devsite-nav-item"><a href="/web/20231023210419/https://developer.android.com/topic/arc/optimizing" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /topic/arc/optimizing" track-type="bookNav" track-name="click" track-metadata-eventdetail="/topic/arc/optimizing"><span class="devsite-nav-text" tooltip>Optimizing Apps for ChromeOS</span></a></li><li class="devsite-nav-item"><a href="/web/20231023210419/https://developer.android.com/topic/arc/development-environment" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /topic/arc/development-environment" track-type="bookNav" track-name="click" track-metadata-eventdetail="/topic/arc/development-environment"><span class="devsite-nav-text" tooltip>Preparing your development environment</span></a></li><li class="devsite-nav-item"><a href="/web/20231023210419/https://developer.android.com/topic/arc/manifest" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /topic/arc/manifest" track-type="bookNav" track-name="click" track-metadata-eventdetail="/topic/arc/manifest"><span class="devsite-nav-text" tooltip>App Manifest Compatibility for Chromebooks</span></a></li><li class="devsite-nav-item"><a href="/web/20231023210419/https://developer.android.com/topic/arc/device-support" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /topic/arc/device-support" track-type="bookNav" track-name="click" track-metadata-eventdetail="/topic/arc/device-support"><span class="devsite-nav-text" tooltip>ChromeOS Device Support for Apps</span></a></li><li class="devsite-nav-item"><a href="/web/20231023210419/https://developer.android.com/topic/arc/differences" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /topic/arc/differences" track-type="bookNav" track-name="click" track-metadata-eventdetail="/topic/arc/differences"><span class="devsite-nav-text" tooltip>App Rendering Differences on Chromebooks</span></a></li><li class="devsite-nav-item"><a href="/web/20231023210419/https://developer.android.com/topic/arc/window-management" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /topic/arc/window-management" track-type="bookNav" track-name="click" track-metadata-eventdetail="/topic/arc/window-management"><span class="devsite-nav-text" tooltip>Window management</span></a></li><li class="devsite-nav-item"><a href="/web/20231023210419/https://developer.android.com/topic/arc/adapting-games" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /topic/arc/adapting-games" track-type="bookNav" track-name="click" track-metadata-eventdetail="/topic/arc/adapting-games"><span class="devsite-nav-text" tooltip>Adapting Games on ChromeOS</span></a></li><li class="devsite-nav-item"><a href="/web/20231023210419/https://developer.android.com/topic/arc/animation" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /topic/arc/animation" track-type="bookNav" track-name="click" track-metadata-eventdetail="/topic/arc/animation"><span class="devsite-nav-text" tooltip>Smooth animation on ChromeOS</span></a></li><li class="devsite-nav-item"><a href="/web/20231023210419/https://developer.android.com/topic/arc/tests" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /topic/arc/tests" track-type="bookNav" track-name="click" track-metadata-eventdetail="/topic/arc/tests"><span class="devsite-nav-text" tooltip>Test Cases for Android Apps on ChromeOS</span></a></li></ul></div></li><li class="devsite-nav-item devsite-nav-expandable"><div class="devsite-expandable-nav"> <a class="devsite-nav-toggle" aria-hidden="true"></a><div class="devsite-nav-title devsite-nav-title-no-path" tabindex="0" role="button"> <span class="devsite-nav-text" tooltip>Cross device SDK</span> </div><ul class="devsite-nav-section"><li class="devsite-nav-item"><a href="/web/20231023210419/https://developer.android.com/guide/topics/connectivity/cross-device-sdk/overview" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /guide/topics/connectivity/cross-device-sdk/overview" track-type="bookNav" track-name="click" track-metadata-eventdetail="/guide/topics/connectivity/cross-device-sdk/overview"><span class="devsite-nav-text" tooltip>About the Cross device SDK</span></a></li><li class="devsite-nav-item"><a href="/web/20231023210419/https://developer.android.com/guide/topics/connectivity/cross-device-sdk/get-started" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /guide/topics/connectivity/cross-device-sdk/get-started" track-type="bookNav" track-name="click" track-metadata-eventdetail="/guide/topics/connectivity/cross-device-sdk/get-started"><span class="devsite-nav-text" tooltip>Get started</span></a></li><li class="devsite-nav-item"><a href="/web/20231023210419/https://developer.android.com/guide/topics/connectivity/cross-device-sdk/device-discovery" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /guide/topics/connectivity/cross-device-sdk/device-discovery" track-type="bookNav" track-name="click" track-metadata-eventdetail="/guide/topics/connectivity/cross-device-sdk/device-discovery"><span class="devsite-nav-text" tooltip>Device discovery API</span></a></li><li class="devsite-nav-item"><a href="/web/20231023210419/https://developer.android.com/guide/topics/connectivity/cross-device-sdk/secure-connection" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /guide/topics/connectivity/cross-device-sdk/secure-connection" track-type="bookNav" track-name="click" track-metadata-eventdetail="/guide/topics/connectivity/cross-device-sdk/secure-connection"><span class="devsite-nav-text" tooltip>Secure connection API</span></a></li><li class="devsite-nav-item"><a href="/web/20231023210419/https://developer.android.com/guide/topics/connectivity/cross-device-sdk/sessions" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /guide/topics/connectivity/cross-device-sdk/sessions" track-type="bookNav" track-name="click" track-metadata-eventdetail="/guide/topics/connectivity/cross-device-sdk/sessions"><span class="devsite-nav-text" tooltip>Sessions API</span></a></li><li class="devsite-nav-item"><a href="/web/20231023210419/https://developer.android.com/guide/topics/connectivity/cross-device-sdk/testing-debugging" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /guide/topics/connectivity/cross-device-sdk/testing-debugging" track-type="bookNav" track-name="click" track-metadata-eventdetail="/guide/topics/connectivity/cross-device-sdk/testing-debugging"><span class="devsite-nav-text" tooltip>Test and debug</span></a></li><li class="devsite-nav-item"><a href="/web/20231023210419/https://developer.android.com/reference/crossdevice/packages" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /reference/crossdevice/packages" track-type="bookNav" track-name="click" track-metadata-eventdetail="/reference/crossdevice/packages"><span class="devsite-nav-text" tooltip>API Reference</span></a></li></ul></div></li><li class="devsite-nav-item devsite-nav-expandable"><div class="devsite-expandable-nav"> <a class="devsite-nav-toggle" aria-hidden="true"></a><div class="devsite-nav-title devsite-nav-title-no-path" tabindex="0" role="button"> <span class="devsite-nav-text" tooltip>Android (Go edition)</span> </div><ul class="devsite-nav-section"><li class="devsite-nav-item"><a href="/web/20231023210419/https://developer.android.com/guide/topics/androidgo" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /guide/topics/androidgo" track-type="bookNav" track-name="click" track-metadata-eventdetail="/guide/topics/androidgo"><span class="devsite-nav-text" tooltip>About Android Go edition</span></a></li><li class="devsite-nav-item"><a href="/web/20231023210419/https://developer.android.com/guide/topics/androidgo/develop" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /guide/topics/androidgo/develop" track-type="bookNav" track-name="click" track-metadata-eventdetail="/guide/topics/androidgo/develop"><span class="devsite-nav-text" tooltip>Develop for Android (Go edition)</span></a></li><li class="devsite-nav-item"><a href="/web/20231023210419/https://developer.android.com/guide/topics/androidgo/test" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /guide/topics/androidgo/test" track-type="bookNav" track-name="click" track-metadata-eventdetail="/guide/topics/androidgo/test"><span class="devsite-nav-text" tooltip>Test Android Go apps</span></a></li><li class="devsite-nav-item devsite-nav-expandable"><div class="devsite-expandable-nav"> <a class="devsite-nav-toggle" aria-hidden="true"></a><div class="devsite-nav-title devsite-nav-title-no-path" tabindex="0" role="button"> <span class="devsite-nav-text" tooltip>Optimize for Android (Go edition)</span> </div><ul class="devsite-nav-section"><li class="devsite-nav-item"><a href="/web/20231023210419/https://developer.android.com/guide/topics/androidgo/optimize" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /guide/topics/androidgo/optimize" track-type="bookNav" track-name="click" track-metadata-eventdetail="/guide/topics/androidgo/optimize"><span class="devsite-nav-text" tooltip>Approach</span></a></li><li class="devsite-nav-item"><a href="/web/20231023210419/https://developer.android.com/guide/topics/androidgo/optimize-memory" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /guide/topics/androidgo/optimize-memory" track-type="bookNav" track-name="click" track-metadata-eventdetail="/guide/topics/androidgo/optimize-memory"><span class="devsite-nav-text" tooltip>Optimize app memory</span></a></li><li class="devsite-nav-item"><a href="/web/20231023210419/https://developer.android.com/guide/topics/androidgo/optimize-startup" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /guide/topics/androidgo/optimize-startup" track-type="bookNav" track-name="click" track-metadata-eventdetail="/guide/topics/androidgo/optimize-startup"><span class="devsite-nav-text" tooltip>Improve startup latency</span></a></li><li class="devsite-nav-item"><a href="/web/20231023210419/https://developer.android.com/guide/topics/androidgo/optimize-size" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /guide/topics/androidgo/optimize-size" track-type="bookNav" track-name="click" track-metadata-eventdetail="/guide/topics/androidgo/optimize-size"><span class="devsite-nav-text" tooltip>Reduce app size</span></a></li></ul></div></li><li class="devsite-nav-item"><a href="/web/20231023210419/https://developer.android.com/guide/topics/androidgo/best-practices" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /guide/topics/androidgo/best-practices" track-type="bookNav" track-name="click" track-metadata-eventdetail="/guide/topics/androidgo/best-practices"><span class="devsite-nav-text" tooltip>Best practices</span></a></li></ul></div></li></ul></div></li> <li class="devsite-nav-item devsite-nav-expandable devsite-nav-accordion"><div class="devsite-expandable-nav"> <a class="devsite-nav-toggle" aria-hidden="true"></a><div class="devsite-nav-title devsite-nav-title-no-path" tabindex="0" role="button"> <span class="devsite-nav-text" tooltip>App architecture</span> </div><ul class="devsite-nav-section"><li class="devsite-nav-item"><a href="/web/20231023210419/https://developer.android.com/topic/architecture/intro" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /topic/architecture/intro" track-type="bookNav" track-name="click" track-metadata-eventdetail="/topic/architecture/intro"><span class="devsite-nav-text" tooltip>Introduction</span></a></li><li class="devsite-nav-item devsite-nav-expandable"><div class="devsite-expandable-nav"> <a class="devsite-nav-toggle" aria-hidden="true"></a><div class="devsite-nav-title devsite-nav-title-no-path" tabindex="0" role="button"> <span class="devsite-nav-text" tooltip>Guide to app architecture</span> </div><ul class="devsite-nav-section"><li class="devsite-nav-item"><a href="/web/20231023210419/https://developer.android.com/topic/architecture" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /topic/architecture" track-type="bookNav" track-name="click" track-metadata-eventdetail="/topic/architecture"><span class="devsite-nav-text" tooltip>About app architecture</span></a></li><li class="devsite-nav-item devsite-nav-expandable"><div class="devsite-expandable-nav"> <a class="devsite-nav-toggle" aria-hidden="true"></a><div class="devsite-nav-title devsite-nav-title-no-path" tabindex="0" role="button"> <span class="devsite-nav-text" tooltip>UI layer</span> </div><ul class="devsite-nav-section"><li class="devsite-nav-item"><a href="/web/20231023210419/https://developer.android.com/topic/architecture/ui-layer" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /topic/architecture/ui-layer" track-type="bookNav" track-name="click" track-metadata-eventdetail="/topic/architecture/ui-layer"><span class="devsite-nav-text" tooltip>About the UI layer</span></a></li><li class="devsite-nav-item"><a href="/web/20231023210419/https://developer.android.com/topic/architecture/ui-layer/events" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /topic/architecture/ui-layer/events" track-type="bookNav" track-name="click" track-metadata-eventdetail="/topic/architecture/ui-layer/events"><span class="devsite-nav-text" tooltip>UI events</span></a></li><li class="devsite-nav-item"><a href="/web/20231023210419/https://developer.android.com/topic/architecture/ui-layer/stateholders" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /topic/architecture/ui-layer/stateholders" track-type="bookNav" track-name="click" track-metadata-eventdetail="/topic/architecture/ui-layer/stateholders"><span class="devsite-nav-text" tooltip>State holders and UI state</span></a></li><li class="devsite-nav-item"><a href="/web/20231023210419/https://developer.android.com/topic/architecture/ui-layer/state-production" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /topic/architecture/ui-layer/state-production" track-type="bookNav" track-name="click" track-metadata-eventdetail="/topic/architecture/ui-layer/state-production"><span class="devsite-nav-text" tooltip>State production</span></a></li></ul></div></li><li class="devsite-nav-item"><a href="/web/20231023210419/https://developer.android.com/topic/architecture/domain-layer" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /topic/architecture/domain-layer" track-type="bookNav" track-name="click" track-metadata-eventdetail="/topic/architecture/domain-layer"><span class="devsite-nav-text" tooltip>Domain layer</span></a></li><li class="devsite-nav-item devsite-nav-expandable"><div class="devsite-expandable-nav"> <a class="devsite-nav-toggle" aria-hidden="true"></a><div class="devsite-nav-title devsite-nav-title-no-path" tabindex="0" role="button"> <span class="devsite-nav-text" tooltip>Data layer</span> </div><ul class="devsite-nav-section"><li class="devsite-nav-item"><a href="/web/20231023210419/https://developer.android.com/topic/architecture/data-layer" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /topic/architecture/data-layer" track-type="bookNav" track-name="click" track-metadata-eventdetail="/topic/architecture/data-layer"><span class="devsite-nav-text" tooltip>About the data layer</span></a></li><li class="devsite-nav-item"><a href="/web/20231023210419/https://developer.android.com/topic/architecture/data-layer/offline-first" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /topic/architecture/data-layer/offline-first" track-type="bookNav" track-name="click" track-metadata-eventdetail="/topic/architecture/data-layer/offline-first"><span class="devsite-nav-text" tooltip>Offline first</span></a></li></ul></div></li><li class="devsite-nav-item"><a href="/web/20231023210419/https://developer.android.com/topic/architecture/recommendations" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /topic/architecture/recommendations" track-type="bookNav" track-name="click" track-metadata-eventdetail="/topic/architecture/recommendations"><span class="devsite-nav-text" tooltip>Architecture recommendations</span></a></li><li class="devsite-nav-item"><a href="/web/20231023210419/https://developer.android.com/courses/pathways/android-architecture" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /courses/pathways/android-architecture" track-type="bookNav" track-name="click" track-metadata-eventdetail="/courses/pathways/android-architecture"><span class="devsite-nav-text" tooltip>Learning pathway</span></a></li></ul></div></li><li class="devsite-nav-item devsite-nav-expandable"><div class="devsite-expandable-nav"> <a class="devsite-nav-toggle" aria-hidden="true"></a><div class="devsite-nav-title devsite-nav-title-no-path" tabindex="0" role="button"> <span class="devsite-nav-text" tooltip>Modularization</span> </div><ul class="devsite-nav-section"><li class="devsite-nav-item"><a href="/web/20231023210419/https://developer.android.com/topic/modularization" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /topic/modularization" track-type="bookNav" track-name="click" track-metadata-eventdetail="/topic/modularization"><span class="devsite-nav-text" tooltip>About modularization</span></a></li><li class="devsite-nav-item"><a href="/web/20231023210419/https://developer.android.com/topic/modularization/patterns" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /topic/modularization/patterns" track-type="bookNav" track-name="click" track-metadata-eventdetail="/topic/modularization/patterns"><span class="devsite-nav-text" tooltip>Common patterns</span></a></li><li class="devsite-nav-item devsite-nav-expandable"><div class="devsite-expandable-nav"> <a class="devsite-nav-toggle" aria-hidden="true"></a><div class="devsite-nav-title devsite-nav-title-no-path" tabindex="0" role="button"> <span class="devsite-nav-text" tooltip>Recipes</span> </div><ul class="devsite-nav-section"><li class="devsite-nav-item"><a href="/web/20231023210419/https://developer.android.com/guide/navigation/navigation-multi-module" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /guide/navigation/navigation-multi-module" track-type="bookNav" track-name="click" track-metadata-eventdetail="/guide/navigation/navigation-multi-module"><span class="devsite-nav-text" tooltip>Navigation</span></a></li></ul></div></li></ul></div></li><li class="devsite-nav-item devsite-nav-expandable"><div class="devsite-expandable-nav"> <a class="devsite-nav-toggle" aria-hidden="true"></a><div class="devsite-nav-title devsite-nav-title-no-path" tabindex="0" role="button"> <span class="devsite-nav-text" tooltip>Architecture components</span> </div><ul class="devsite-nav-section"><li class="devsite-nav-item devsite-nav-expandable"><div class="devsite-expandable-nav"> <a class="devsite-nav-toggle" aria-hidden="true"></a><div class="devsite-nav-title devsite-nav-title-no-path" tabindex="0" role="button"> <span class="devsite-nav-text" tooltip>UI layer libraries</span> </div><ul class="devsite-nav-section"><li class="devsite-nav-item devsite-nav-expandable"><div class="devsite-expandable-nav"> <a class="devsite-nav-toggle" aria-hidden="true"></a><div class="devsite-nav-title devsite-nav-title-no-path" tabindex="0" role="button"> <span class="devsite-nav-text" tooltip>View binding</span> </div><ul class="devsite-nav-section"><li class="devsite-nav-item"><a href="/web/20231023210419/https://developer.android.com/topic/libraries/view-binding" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /topic/libraries/view-binding" track-type="bookNav" track-name="click" track-metadata-eventdetail="/topic/libraries/view-binding"><span class="devsite-nav-text" tooltip>About view binding</span></a></li><li class="devsite-nav-item"><a href="/web/20231023210419/https://developer.android.com/topic/libraries/view-binding/migration" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /topic/libraries/view-binding/migration" track-type="bookNav" track-name="click" track-metadata-eventdetail="/topic/libraries/view-binding/migration"><span class="devsite-nav-text" tooltip>Migrate from Kotlin synthetics to view binding</span></a></li></ul></div></li><li class="devsite-nav-item devsite-nav-expandable"><div class="devsite-expandable-nav"> <a class="devsite-nav-toggle" aria-hidden="true"></a><div class="devsite-nav-title devsite-nav-title-no-path" tabindex="0" role="button"> <span class="devsite-nav-text" tooltip>Data binding library</span> </div><ul class="devsite-nav-section"><li class="devsite-nav-item"><a href="/web/20231023210419/https://developer.android.com/topic/libraries/data-binding" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /topic/libraries/data-binding" track-type="bookNav" track-name="click" track-metadata-eventdetail="/topic/libraries/data-binding"><span class="devsite-nav-text" tooltip>About data binding</span></a></li><li class="devsite-nav-item"><a href="/web/20231023210419/https://developer.android.com/topic/libraries/data-binding/start" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /topic/libraries/data-binding/start" track-type="bookNav" track-name="click" track-metadata-eventdetail="/topic/libraries/data-binding/start"><span class="devsite-nav-text" tooltip>Get started</span></a></li><li class="devsite-nav-item"><a href="/web/20231023210419/https://developer.android.com/topic/libraries/data-binding/expressions" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /topic/libraries/data-binding/expressions" track-type="bookNav" track-name="click" track-metadata-eventdetail="/topic/libraries/data-binding/expressions"><span class="devsite-nav-text" tooltip>Layouts and binding expressions</span></a></li><li class="devsite-nav-item"><a href="/web/20231023210419/https://developer.android.com/topic/libraries/data-binding/observability" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /topic/libraries/data-binding/observability" track-type="bookNav" track-name="click" track-metadata-eventdetail="/topic/libraries/data-binding/observability"><span class="devsite-nav-text" tooltip>Work with observable data objects</span></a></li><li class="devsite-nav-item"><a href="/web/20231023210419/https://developer.android.com/topic/libraries/data-binding/generated-binding" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /topic/libraries/data-binding/generated-binding" track-type="bookNav" track-name="click" track-metadata-eventdetail="/topic/libraries/data-binding/generated-binding"><span class="devsite-nav-text" tooltip>Generated binding classes</span></a></li><li class="devsite-nav-item"><a href="/web/20231023210419/https://developer.android.com/topic/libraries/data-binding/binding-adapters" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /topic/libraries/data-binding/binding-adapters" track-type="bookNav" track-name="click" track-metadata-eventdetail="/topic/libraries/data-binding/binding-adapters"><span class="devsite-nav-text" tooltip>Binding adapters</span></a></li><li class="devsite-nav-item"><a href="/web/20231023210419/https://developer.android.com/topic/libraries/data-binding/architecture" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /topic/libraries/data-binding/architecture" track-type="bookNav" track-name="click" track-metadata-eventdetail="/topic/libraries/data-binding/architecture"><span class="devsite-nav-text" tooltip>Bind layout views to Architecture Components</span></a></li><li class="devsite-nav-item"><a href="/web/20231023210419/https://developer.android.com/topic/libraries/data-binding/two-way" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /topic/libraries/data-binding/two-way" track-type="bookNav" track-name="click" track-metadata-eventdetail="/topic/libraries/data-binding/two-way"><span class="devsite-nav-text" tooltip>Two-way data binding</span></a></li></ul></div></li><li class="devsite-nav-item devsite-nav-expandable"><div class="devsite-expandable-nav"> <a class="devsite-nav-toggle" aria-hidden="true"></a><div class="devsite-nav-title devsite-nav-title-no-path" tabindex="0" role="button"> <span class="devsite-nav-text" tooltip>Lifecycle-aware components</span> </div><ul class="devsite-nav-section"><li class="devsite-nav-item"><a href="/web/20231023210419/https://developer.android.com/topic/libraries/architecture/lifecycle" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /topic/libraries/architecture/lifecycle" track-type="bookNav" track-name="click" track-metadata-eventdetail="/topic/libraries/architecture/lifecycle"><span class="devsite-nav-text" tooltip>Handle lifecycles</span></a></li><li class="devsite-nav-item devsite-nav-expandable"><div class="devsite-expandable-nav"> <a class="devsite-nav-toggle" aria-hidden="true"></a><div class="devsite-nav-title devsite-nav-title-no-path" tabindex="0" role="button"> <span class="devsite-nav-text" tooltip>ViewModel</span> </div><ul class="devsite-nav-section"><li class="devsite-nav-item"><a href="/web/20231023210419/https://developer.android.com/topic/libraries/architecture/viewmodel" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /topic/libraries/architecture/viewmodel" track-type="bookNav" track-name="click" track-metadata-eventdetail="/topic/libraries/architecture/viewmodel"><span class="devsite-nav-text" tooltip>About ViewModel</span></a></li><li class="devsite-nav-item"><a href="/web/20231023210419/https://developer.android.com/topic/libraries/architecture/viewmodel/viewmodel-factories" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /topic/libraries/architecture/viewmodel/viewmodel-factories" track-type="bookNav" track-name="click" track-metadata-eventdetail="/topic/libraries/architecture/viewmodel/viewmodel-factories"><span class="devsite-nav-text" tooltip>Create ViewModels with dependencies</span></a></li><li class="devsite-nav-item"><a href="/web/20231023210419/https://developer.android.com/topic/libraries/architecture/viewmodel/viewmodel-apis" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /topic/libraries/architecture/viewmodel/viewmodel-apis" track-type="bookNav" track-name="click" track-metadata-eventdetail="/topic/libraries/architecture/viewmodel/viewmodel-apis"><span class="devsite-nav-text" tooltip>ViewModel Scoping APIs</span></a></li><li class="devsite-nav-item"><a href="/web/20231023210419/https://developer.android.com/topic/libraries/architecture/viewmodel/viewmodel-savedstate" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /topic/libraries/architecture/viewmodel/viewmodel-savedstate" track-type="bookNav" track-name="click" track-metadata-eventdetail="/topic/libraries/architecture/viewmodel/viewmodel-savedstate"><span class="devsite-nav-text" tooltip>Saved State module for ViewModel</span></a></li><li class="devsite-nav-item"><a href="/web/20231023210419/https://developer.android.com/topic/libraries/architecture/viewmodel/viewmodel-cheatsheet" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /topic/libraries/architecture/viewmodel/viewmodel-cheatsheet" track-type="bookNav" track-name="click" track-metadata-eventdetail="/topic/libraries/architecture/viewmodel/viewmodel-cheatsheet"><span class="devsite-nav-text" tooltip>ViewModel APIs cheat sheet</span></a></li></ul></div></li><li class="devsite-nav-item"><a href="/web/20231023210419/https://developer.android.com/topic/libraries/architecture/livedata" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /topic/libraries/architecture/livedata" track-type="bookNav" track-name="click" track-metadata-eventdetail="/topic/libraries/architecture/livedata"><span class="devsite-nav-text" tooltip>LiveData</span></a></li><li class="devsite-nav-item"><a href="/web/20231023210419/https://developer.android.com/topic/libraries/architecture/saving-states" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /topic/libraries/architecture/saving-states" track-type="bookNav" track-name="click" track-metadata-eventdetail="/topic/libraries/architecture/saving-states"><span class="devsite-nav-text" tooltip>Save UI states</span></a></li><li class="devsite-nav-item"><a href="/web/20231023210419/https://developer.android.com/topic/libraries/architecture/coroutines" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /topic/libraries/architecture/coroutines" track-type="bookNav" track-name="click" track-metadata-eventdetail="/topic/libraries/architecture/coroutines"><span class="devsite-nav-text" tooltip>Use Kotlin coroutines with lifecycle-aware components</span></a></li></ul></div></li><li class="devsite-nav-item devsite-nav-expandable"><div class="devsite-expandable-nav"> <a class="devsite-nav-toggle" aria-hidden="true"></a><div class="devsite-nav-title devsite-nav-title-no-path" tabindex="0" role="button"> <span class="devsite-nav-text" tooltip>Paging Library</span> </div><ul class="devsite-nav-section"><li class="devsite-nav-item"><a href="/web/20231023210419/https://developer.android.com/topic/libraries/architecture/paging/v3-overview" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /topic/libraries/architecture/paging/v3-overview" track-type="bookNav" track-name="click" track-metadata-eventdetail="/topic/libraries/architecture/paging/v3-overview"><span class="devsite-nav-text" tooltip>About paging</span></a></li><li class="devsite-nav-item"><a href="/web/20231023210419/https://developer.android.com/topic/libraries/architecture/paging/v3-paged-data" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /topic/libraries/architecture/paging/v3-paged-data" track-type="bookNav" track-name="click" track-metadata-eventdetail="/topic/libraries/architecture/paging/v3-paged-data"><span class="devsite-nav-text" tooltip>Load and display paged data</span></a></li><li class="devsite-nav-item"><a href="/web/20231023210419/https://developer.android.com/topic/libraries/architecture/paging/v3-network-db" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /topic/libraries/architecture/paging/v3-network-db" track-type="bookNav" track-name="click" track-metadata-eventdetail="/topic/libraries/architecture/paging/v3-network-db"><span class="devsite-nav-text" tooltip>Page from network and database</span></a></li><li class="devsite-nav-item"><a href="/web/20231023210419/https://developer.android.com/topic/libraries/architecture/paging/v3-transform" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /topic/libraries/architecture/paging/v3-transform" track-type="bookNav" track-name="click" track-metadata-eventdetail="/topic/libraries/architecture/paging/v3-transform"><span class="devsite-nav-text" tooltip>Transform data streams</span></a></li><li class="devsite-nav-item"><a href="/web/20231023210419/https://developer.android.com/topic/libraries/architecture/paging/load-state" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /topic/libraries/architecture/paging/load-state" track-type="bookNav" track-name="click" track-metadata-eventdetail="/topic/libraries/architecture/paging/load-state"><span class="devsite-nav-text" tooltip>Manage and present loading states</span></a></li><li class="devsite-nav-item"><a href="/web/20231023210419/https://developer.android.com/topic/libraries/architecture/paging/test" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /topic/libraries/architecture/paging/test" track-type="bookNav" track-name="click" track-metadata-eventdetail="/topic/libraries/architecture/paging/test"><span class="devsite-nav-text" tooltip>Test your Paging implementation</span></a></li><li class="devsite-nav-item"><a href="/web/20231023210419/https://developer.android.com/topic/libraries/architecture/paging/v3-migration" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /topic/libraries/architecture/paging/v3-migration" track-type="bookNav" track-name="click" track-metadata-eventdetail="/topic/libraries/architecture/paging/v3-migration"><span class="devsite-nav-text" tooltip>Migrate to Paging 3</span></a></li><li class="devsite-nav-item devsite-nav-expandable"><div class="devsite-expandable-nav"> <a class="devsite-nav-toggle" aria-hidden="true"></a><div class="devsite-nav-title devsite-nav-title-no-path" tabindex="0" role="button"> <span class="devsite-nav-text" tooltip>Paging 2</span> </div><ul class="devsite-nav-section"><li class="devsite-nav-item"><a href="/web/20231023210419/https://developer.android.com/topic/libraries/architecture/paging" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /topic/libraries/architecture/paging" track-type="bookNav" track-name="click" track-metadata-eventdetail="/topic/libraries/architecture/paging"><span class="devsite-nav-text" tooltip>About Paging 2</span></a></li><li class="devsite-nav-item"><a href="/web/20231023210419/https://developer.android.com/topic/libraries/architecture/paging/ui" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /topic/libraries/architecture/paging/ui" track-type="bookNav" track-name="click" track-metadata-eventdetail="/topic/libraries/architecture/paging/ui"><span class="devsite-nav-text" tooltip>Display paged lists</span></a></li><li class="devsite-nav-item"><a href="/web/20231023210419/https://developer.android.com/topic/libraries/architecture/paging/data" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /topic/libraries/architecture/paging/data" track-type="bookNav" track-name="click" track-metadata-eventdetail="/topic/libraries/architecture/paging/data"><span class="devsite-nav-text" tooltip>Load paged data</span></a></li></ul></div></li></ul></div></li></ul></div></li><li class="devsite-nav-item devsite-nav-expandable"><div class="devsite-expandable-nav"> <a class="devsite-nav-toggle" aria-hidden="true"></a><div class="devsite-nav-title devsite-nav-title-no-path" tabindex="0" role="button"> <span class="devsite-nav-text" tooltip>Data layer libraries</span> </div><ul class="devsite-nav-section"><li class="devsite-nav-item"><a href="/web/20231023210419/https://developer.android.com/topic/libraries/architecture/datastore" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /topic/libraries/architecture/datastore" track-type="bookNav" track-name="click" track-metadata-eventdetail="/topic/libraries/architecture/datastore"><span class="devsite-nav-text" tooltip>DataStore</span></a></li><li class="devsite-nav-item devsite-nav-expandable"><div class="devsite-expandable-nav"> <a class="devsite-nav-toggle" aria-hidden="true"></a><div class="devsite-nav-title devsite-nav-title-no-path" tabindex="0" role="button"> <span class="devsite-nav-text" tooltip>WorkManager</span> </div><ul class="devsite-nav-section"><li class="devsite-nav-item"><a href="/web/20231023210419/https://developer.android.com/topic/libraries/architecture/workmanager" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /topic/libraries/architecture/workmanager" track-type="bookNav" track-name="click" track-metadata-eventdetail="/topic/libraries/architecture/workmanager"><span class="devsite-nav-text" tooltip>About WorkManager</span></a></li><li class="devsite-nav-item"><a href="/web/20231023210419/https://developer.android.com/topic/libraries/architecture/workmanager/basics" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /topic/libraries/architecture/workmanager/basics" track-type="bookNav" track-name="click" track-metadata-eventdetail="/topic/libraries/architecture/workmanager/basics"><span class="devsite-nav-text" tooltip>Getting Started</span></a></li><li class="devsite-nav-item devsite-nav-expandable"><div class="devsite-expandable-nav"> <a class="devsite-nav-toggle" aria-hidden="true"></a><div class="devsite-nav-title devsite-nav-title-no-path" tabindex="0" role="button"> <span class="devsite-nav-text" tooltip>How-To Guides</span> </div><ul class="devsite-nav-section"><li class="devsite-nav-item"><a href="/web/20231023210419/https://developer.android.com/topic/libraries/architecture/workmanager/how-to/define-work" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /topic/libraries/architecture/workmanager/how-to/define-work" track-type="bookNav" track-name="click" track-metadata-eventdetail="/topic/libraries/architecture/workmanager/how-to/define-work"><span class="devsite-nav-text" tooltip>Defining your WorkRequests</span></a></li><li class="devsite-nav-item"><a href="/web/20231023210419/https://developer.android.com/topic/libraries/architecture/workmanager/how-to/states-and-observation" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /topic/libraries/architecture/workmanager/how-to/states-and-observation" track-type="bookNav" track-name="click" track-metadata-eventdetail="/topic/libraries/architecture/workmanager/how-to/states-and-observation"><span class="devsite-nav-text" tooltip>Work states</span></a></li><li class="devsite-nav-item"><a href="/web/20231023210419/https://developer.android.com/topic/libraries/architecture/workmanager/how-to/managing-work" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /topic/libraries/architecture/workmanager/how-to/managing-work" track-type="bookNav" track-name="click" track-metadata-eventdetail="/topic/libraries/architecture/workmanager/how-to/managing-work"><span class="devsite-nav-text" tooltip>Managing work</span></a></li><li class="devsite-nav-item"><a href="/web/20231023210419/https://developer.android.com/topic/libraries/architecture/workmanager/how-to/intermediate-progress" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /topic/libraries/architecture/workmanager/how-to/intermediate-progress" track-type="bookNav" track-name="click" track-metadata-eventdetail="/topic/libraries/architecture/workmanager/how-to/intermediate-progress"><span class="devsite-nav-text" tooltip>Observing intermediate Worker progress</span></a></li><li class="devsite-nav-item"><a href="/web/20231023210419/https://developer.android.com/topic/libraries/architecture/workmanager/how-to/chain-work" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /topic/libraries/architecture/workmanager/how-to/chain-work" track-type="bookNav" track-name="click" track-metadata-eventdetail="/topic/libraries/architecture/workmanager/how-to/chain-work"><span class="devsite-nav-text" tooltip>Chaining work together</span></a></li><li class="devsite-nav-item"><a href="/web/20231023210419/https://developer.android.com/topic/libraries/architecture/workmanager/how-to/testing-worker-impl" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /topic/libraries/architecture/workmanager/how-to/testing-worker-impl" track-type="bookNav" track-name="click" track-metadata-eventdetail="/topic/libraries/architecture/workmanager/how-to/testing-worker-impl"><span class="devsite-nav-text" tooltip>Testing Worker implementation</span></a></li><li class="devsite-nav-item"><a href="/web/20231023210419/https://developer.android.com/topic/libraries/architecture/workmanager/how-to/integration-testing" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /topic/libraries/architecture/workmanager/how-to/integration-testing" track-type="bookNav" track-name="click" track-metadata-eventdetail="/topic/libraries/architecture/workmanager/how-to/integration-testing"><span class="devsite-nav-text" tooltip>Integration tests with WorkManager</span></a></li><li class="devsite-nav-item"><a href="/web/20231023210419/https://developer.android.com/topic/libraries/architecture/workmanager/how-to/debugging" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /topic/libraries/architecture/workmanager/how-to/debugging" track-type="bookNav" track-name="click" track-metadata-eventdetail="/topic/libraries/architecture/workmanager/how-to/debugging"><span class="devsite-nav-text" tooltip>Debugging WorkManager</span></a></li></ul></div></li><li class="devsite-nav-item devsite-nav-expandable"><div class="devsite-expandable-nav"> <a class="devsite-nav-toggle" aria-hidden="true"></a><div class="devsite-nav-title devsite-nav-title-no-path" tabindex="0" role="button"> <span class="devsite-nav-text" tooltip>Advanced Concepts</span> </div><ul class="devsite-nav-section"><li class="devsite-nav-item"><a href="/web/20231023210419/https://developer.android.com/topic/libraries/architecture/workmanager/advanced/custom-configuration" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /topic/libraries/architecture/workmanager/advanced/custom-configuration" track-type="bookNav" track-name="click" track-metadata-eventdetail="/topic/libraries/architecture/workmanager/advanced/custom-configuration"><span class="devsite-nav-text" tooltip>Configuration and Initialization</span></a></li><li class="devsite-nav-item devsite-nav-expandable"><div class="devsite-expandable-nav"> <a class="devsite-nav-toggle" aria-hidden="true"></a><div class="devsite-nav-title devsite-nav-title-no-path" tabindex="0" role="button"> <span class="devsite-nav-text" tooltip>Threading in WorkManager</span> </div><ul class="devsite-nav-section"><li class="devsite-nav-item"><a href="/web/20231023210419/https://developer.android.com/topic/libraries/architecture/workmanager/advanced/threading" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /topic/libraries/architecture/workmanager/advanced/threading" track-type="bookNav" track-name="click" track-metadata-eventdetail="/topic/libraries/architecture/workmanager/advanced/threading"><span class="devsite-nav-text" tooltip>About threading in WorkManager</span></a></li><li class="devsite-nav-item"><a href="/web/20231023210419/https://developer.android.com/topic/libraries/architecture/workmanager/advanced/worker" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /topic/libraries/architecture/workmanager/advanced/worker" track-type="bookNav" track-name="click" track-metadata-eventdetail="/topic/libraries/architecture/workmanager/advanced/worker"><span class="devsite-nav-text" tooltip>Threading in Worker</span></a></li><li class="devsite-nav-item"><a href="/web/20231023210419/https://developer.android.com/topic/libraries/architecture/workmanager/advanced/coroutineworker" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /topic/libraries/architecture/workmanager/advanced/coroutineworker" track-type="bookNav" track-name="click" track-metadata-eventdetail="/topic/libraries/architecture/workmanager/advanced/coroutineworker"><span class="devsite-nav-text" tooltip>Threading in CoroutineWorker</span></a></li><li class="devsite-nav-item"><a href="/web/20231023210419/https://developer.android.com/topic/libraries/architecture/workmanager/advanced/rxworker" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /topic/libraries/architecture/workmanager/advanced/rxworker" track-type="bookNav" track-name="click" track-metadata-eventdetail="/topic/libraries/architecture/workmanager/advanced/rxworker"><span class="devsite-nav-text" tooltip>Threading in RxWorker</span></a></li><li class="devsite-nav-item"><a href="/web/20231023210419/https://developer.android.com/topic/libraries/architecture/workmanager/advanced/listenableworker" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /topic/libraries/architecture/workmanager/advanced/listenableworker" track-type="bookNav" track-name="click" track-metadata-eventdetail="/topic/libraries/architecture/workmanager/advanced/listenableworker"><span class="devsite-nav-text" tooltip>Threading in ListenableWorker</span></a></li></ul></div></li><li class="devsite-nav-item"><a href="/web/20231023210419/https://developer.android.com/topic/libraries/architecture/workmanager/advanced/long-running" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /topic/libraries/architecture/workmanager/advanced/long-running" track-type="bookNav" track-name="click" track-metadata-eventdetail="/topic/libraries/architecture/workmanager/advanced/long-running"><span class="devsite-nav-text" tooltip>Support for long-running workers</span></a></li></ul></div></li><li class="devsite-nav-item"><a href="/web/20231023210419/https://developer.android.com/topic/libraries/architecture/workmanager/migrating-fb" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /topic/libraries/architecture/workmanager/migrating-fb" track-type="bookNav" track-name="click" track-metadata-eventdetail="/topic/libraries/architecture/workmanager/migrating-fb"><span class="devsite-nav-text" tooltip>Migrating from Firebase JobDispatcher</span></a></li><li class="devsite-nav-item"><a href="/web/20231023210419/https://developer.android.com/topic/libraries/architecture/workmanager/migrating-gcm" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /topic/libraries/architecture/workmanager/migrating-gcm" track-type="bookNav" track-name="click" track-metadata-eventdetail="/topic/libraries/architecture/workmanager/migrating-gcm"><span class="devsite-nav-text" tooltip>Migrating from GCMNetworkManager</span></a></li></ul></div></li></ul></div></li></ul></div></li><li class="devsite-nav-item devsite-nav-expandable"><div class="devsite-expandable-nav"> <a class="devsite-nav-toggle" aria-hidden="true"></a><div class="devsite-nav-title devsite-nav-title-no-path" tabindex="0" role="button"> <span class="devsite-nav-text" tooltip>App entry points</span> </div><ul class="devsite-nav-section"><li class="devsite-nav-item devsite-nav-expandable"><div class="devsite-expandable-nav"> <a class="devsite-nav-toggle" aria-hidden="true"></a><div class="devsite-nav-title devsite-nav-title-no-path" tabindex="0" role="button"> <span class="devsite-nav-text" tooltip>Activities</span> </div><ul class="devsite-nav-section"><li class="devsite-nav-item"><a href="/web/20231023210419/https://developer.android.com/guide/components/activities/intro-activities" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /guide/components/activities/intro-activities" track-type="bookNav" track-name="click" track-metadata-eventdetail="/guide/components/activities/intro-activities"><span class="devsite-nav-text" tooltip>Introduction to activities</span></a></li><li class="devsite-nav-item"><a href="/web/20231023210419/https://developer.android.com/guide/components/activities/activity-lifecycle" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /guide/components/activities/activity-lifecycle" track-type="bookNav" track-name="click" track-metadata-eventdetail="/guide/components/activities/activity-lifecycle"><span class="devsite-nav-text" tooltip>The activity lifecycle</span></a></li><li class="devsite-nav-item"><a href="/web/20231023210419/https://developer.android.com/guide/components/activities/state-changes" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /guide/components/activities/state-changes" track-type="bookNav" track-name="click" track-metadata-eventdetail="/guide/components/activities/state-changes"><span class="devsite-nav-text" tooltip>Activity state changes</span></a></li><li class="devsite-nav-item"><a href="/web/20231023210419/https://developer.android.com/guide/components/activities/testing" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /guide/components/activities/testing" track-type="bookNav" track-name="click" track-metadata-eventdetail="/guide/components/activities/testing"><span class="devsite-nav-text" tooltip>Test your app's activities</span></a></li><li class="devsite-nav-item"><a href="/web/20231023210419/https://developer.android.com/guide/components/activities/tasks-and-back-stack" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /guide/components/activities/tasks-and-back-stack" track-type="bookNav" track-name="click" track-metadata-eventdetail="/guide/components/activities/tasks-and-back-stack"><span class="devsite-nav-text" tooltip>Tasks and the back stack</span></a></li><li class="devsite-nav-item"><a href="/web/20231023210419/https://developer.android.com/guide/components/activities/process-lifecycle" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /guide/components/activities/process-lifecycle" track-type="bookNav" track-name="click" track-metadata-eventdetail="/guide/components/activities/process-lifecycle"><span class="devsite-nav-text" tooltip>Processes and app lifecycle</span></a></li><li class="devsite-nav-item"><a href="/web/20231023210419/https://developer.android.com/guide/components/activities/parcelables-and-bundles" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /guide/components/activities/parcelables-and-bundles" track-type="bookNav" track-name="click" track-metadata-eventdetail="/guide/components/activities/parcelables-and-bundles"><span class="devsite-nav-text" tooltip>Parcelables and bundles</span></a></li><li class="devsite-nav-item"><a href="/web/20231023210419/https://developer.android.com/guide/components/loaders" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /guide/components/loaders" track-type="bookNav" track-name="click" track-metadata-eventdetail="/guide/components/loaders"><span class="devsite-nav-text" tooltip>Loaders</span></a></li><li class="devsite-nav-item"><a href="/web/20231023210419/https://developer.android.com/guide/components/activities/recents" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /guide/components/activities/recents" track-type="bookNav" track-name="click" track-metadata-eventdetail="/guide/components/activities/recents"><span class="devsite-nav-text" tooltip>Recents screen</span></a></li><li class="devsite-nav-item"><a href="/web/20231023210419/https://developer.android.com/guide/components/activities/background-starts" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /guide/components/activities/background-starts" track-type="bookNav" track-name="click" track-metadata-eventdetail="/guide/components/activities/background-starts"><span class="devsite-nav-text" tooltip>Restrictions on starting activities from the background</span></a></li></ul></div></li><li class="devsite-nav-item devsite-nav-expandable"><div class="devsite-expandable-nav"> <a class="devsite-nav-toggle" aria-hidden="true"></a><div class="devsite-nav-title devsite-nav-title-no-path" tabindex="0" role="button"> <span class="devsite-nav-text" tooltip>App shortcuts</span> </div><ul class="devsite-nav-section"><li class="devsite-nav-item"><a href="/web/20231023210419/https://developer.android.com/guide/topics/ui/shortcuts" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /guide/topics/ui/shortcuts" track-type="bookNav" track-name="click" track-metadata-eventdetail="/guide/topics/ui/shortcuts"><span class="devsite-nav-text" tooltip>About app shortcuts</span></a></li><li class="devsite-nav-item"><a href="/web/20231023210419/https://developer.android.com/guide/topics/ui/shortcuts/creating-shortcuts" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /guide/topics/ui/shortcuts/creating-shortcuts" track-type="bookNav" track-name="click" track-metadata-eventdetail="/guide/topics/ui/shortcuts/creating-shortcuts"><span class="devsite-nav-text" tooltip>Create shortcuts</span></a></li><li class="devsite-nav-item"><a href="/web/20231023210419/https://developer.android.com/guide/topics/ui/shortcuts/adding-capabilities" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /guide/topics/ui/shortcuts/adding-capabilities" track-type="bookNav" track-name="click" track-metadata-eventdetail="/guide/topics/ui/shortcuts/adding-capabilities"><span class="devsite-nav-text" tooltip>Add capabilities</span></a></li><li class="devsite-nav-item"><a href="/web/20231023210419/https://developer.android.com/guide/topics/ui/shortcuts/managing-shortcuts" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /guide/topics/ui/shortcuts/managing-shortcuts" track-type="bookNav" track-name="click" track-metadata-eventdetail="/guide/topics/ui/shortcuts/managing-shortcuts"><span class="devsite-nav-text" tooltip>Manage shortcuts</span></a></li><li class="devsite-nav-item"><a href="/web/20231023210419/https://developer.android.com/guide/topics/ui/shortcuts/best-practices" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /guide/topics/ui/shortcuts/best-practices" track-type="bookNav" track-name="click" track-metadata-eventdetail="/guide/topics/ui/shortcuts/best-practices"><span class="devsite-nav-text" tooltip>Best practices for shortcuts</span></a></li></ul></div></li></ul></div></li><li class="devsite-nav-item devsite-nav-expandable"><div class="devsite-expandable-nav"> <a class="devsite-nav-toggle" aria-hidden="true"></a><div class="devsite-nav-title devsite-nav-title-no-path" tabindex="0" role="button"> <span class="devsite-nav-text" tooltip>App navigation</span> </div><ul class="devsite-nav-section"><li class="devsite-nav-item"><a href="/web/20231023210419/https://developer.android.com/guide/navigation/principles" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /guide/navigation/principles" track-type="bookNav" track-name="click" track-metadata-eventdetail="/guide/navigation/principles"><span class="devsite-nav-text" tooltip>Principles of navigation</span></a></li><li class="devsite-nav-item devsite-nav-expandable"><div class="devsite-expandable-nav"> <a class="devsite-nav-toggle" aria-hidden="true"></a><div class="devsite-nav-title devsite-nav-title-no-path" tabindex="0" role="button"> <span class="devsite-nav-text" tooltip>Navigation component</span> </div><ul class="devsite-nav-section"><li class="devsite-nav-item"><a href="/web/20231023210419/https://developer.android.com/guide/navigation" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /guide/navigation" track-type="bookNav" track-name="click" track-metadata-eventdetail="/guide/navigation"><span class="devsite-nav-text" tooltip>Overview</span></a></li><li class="devsite-nav-item"><a href="/web/20231023210419/https://developer.android.com/guide/navigation/get-started" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /guide/navigation/get-started" track-type="bookNav" track-name="click" track-metadata-eventdetail="/guide/navigation/get-started"><span class="devsite-nav-text" tooltip>Get started</span></a></li><li class="devsite-nav-item devsite-nav-expandable"><div class="devsite-expandable-nav"> <a class="devsite-nav-toggle" aria-hidden="true"></a><div class="devsite-nav-title devsite-nav-title-no-path" tabindex="0" role="button"> <span class="devsite-nav-text" tooltip>Design your navigation graph</span> </div><ul class="devsite-nav-section"><li class="devsite-nav-item"><a href="/web/20231023210419/https://developer.android.com/guide/navigation/design/design-graph" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /guide/navigation/design/design-graph" track-type="bookNav" track-name="click" track-metadata-eventdetail="/guide/navigation/design/design-graph"><span class="devsite-nav-text" tooltip>Overview</span></a></li><li class="devsite-nav-item"><a href="/web/20231023210419/https://developer.android.com/guide/navigation/design/create-destinations" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /guide/navigation/design/create-destinations" track-type="bookNav" track-name="click" track-metadata-eventdetail="/guide/navigation/design/create-destinations"><span class="devsite-nav-text" tooltip>Create destinations</span></a></li><li class="devsite-nav-item"><a href="/web/20231023210419/https://developer.android.com/guide/navigation/design/nested-graphs" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /guide/navigation/design/nested-graphs" track-type="bookNav" track-name="click" track-metadata-eventdetail="/guide/navigation/design/nested-graphs"><span class="devsite-nav-text" tooltip>Nested graphs</span></a></li><li class="devsite-nav-item"><a href="/web/20231023210419/https://developer.android.com/guide/navigation/design/deep-link" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /guide/navigation/design/deep-link" track-type="bookNav" track-name="click" track-metadata-eventdetail="/guide/navigation/design/deep-link"><span class="devsite-nav-text" tooltip>Deep links</span></a></li><li class="devsite-nav-item"><a href="/web/20231023210419/https://developer.android.com/guide/navigation/design/add-new" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /guide/navigation/design/add-new" track-type="bookNav" track-name="click" track-metadata-eventdetail="/guide/navigation/design/add-new"><span class="devsite-nav-text" tooltip>New destination types</span></a></li><li class="devsite-nav-item"><a href="/web/20231023210419/https://developer.android.com/guide/navigation/design/type-safety" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /guide/navigation/design/type-safety" track-type="bookNav" track-name="click" track-metadata-eventdetail="/guide/navigation/design/type-safety"><span class="devsite-nav-text" tooltip>Type safety</span></a></li><li class="devsite-nav-item"><a href="/web/20231023210419/https://developer.android.com/guide/navigation/design/global-action" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /guide/navigation/design/global-action" track-type="bookNav" track-name="click" track-metadata-eventdetail="/guide/navigation/design/global-action"><span class="devsite-nav-text" tooltip>Global actions</span></a></li><li class="devsite-nav-item"><a href="/web/20231023210419/https://developer.android.com/guide/navigation/design/kotlin-dsl" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /guide/navigation/design/kotlin-dsl" track-type="bookNav" track-name="click" track-metadata-eventdetail="/guide/navigation/design/kotlin-dsl"><span class="devsite-nav-text" tooltip>Build a graph programmatically using the Kotlin DSL</span></a></li></ul></div></li><li class="devsite-nav-item devsite-nav-expandable"><div class="devsite-expandable-nav"> <a class="devsite-nav-toggle" aria-hidden="true"></a><div class="devsite-nav-title devsite-nav-title-no-path" tabindex="0" role="button"> <span class="devsite-nav-text" tooltip>Use your navigation graph</span> </div><ul class="devsite-nav-section"><li class="devsite-nav-item"><a href="/web/20231023210419/https://developer.android.com/guide/navigation/use-graph/navigate" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /guide/navigation/use-graph/navigate" track-type="bookNav" track-name="click" track-metadata-eventdetail="/guide/navigation/use-graph/navigate"><span class="devsite-nav-text" tooltip>Navigate to a destination</span></a></li><li class="devsite-nav-item"><a href="/web/20231023210419/https://developer.android.com/guide/navigation/use-graph/navoptions" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /guide/navigation/use-graph/navoptions" track-type="bookNav" track-name="click" track-metadata-eventdetail="/guide/navigation/use-graph/navoptions"><span class="devsite-nav-text" tooltip>Navigate with options</span></a></li><li class="devsite-nav-item"><a href="/web/20231023210419/https://developer.android.com/guide/navigation/use-graph/safe-args" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /guide/navigation/use-graph/safe-args" track-type="bookNav" track-name="click" track-metadata-eventdetail="/guide/navigation/use-graph/safe-args"><span class="devsite-nav-text" tooltip>Safe args</span></a></li><li class="devsite-nav-item"><a href="/web/20231023210419/https://developer.android.com/guide/navigation/use-graph/pass-data" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /guide/navigation/use-graph/pass-data" track-type="bookNav" track-name="click" track-metadata-eventdetail="/guide/navigation/use-graph/pass-data"><span class="devsite-nav-text" tooltip>Pass data between destinations</span></a></li><li class="devsite-nav-item"><a href="/web/20231023210419/https://developer.android.com/guide/navigation/use-graph/animate-transitions" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /guide/navigation/use-graph/animate-transitions" track-type="bookNav" track-name="click" track-metadata-eventdetail="/guide/navigation/use-graph/animate-transitions"><span class="devsite-nav-text" tooltip>Animate transitions between destinations</span></a></li><li class="devsite-nav-item"><a href="/web/20231023210419/https://developer.android.com/guide/navigation/use-graph/conditional" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /guide/navigation/use-graph/conditional" track-type="bookNav" track-name="click" track-metadata-eventdetail="/guide/navigation/use-graph/conditional"><span class="devsite-nav-text" tooltip>Conditional navigation</span></a></li><li class="devsite-nav-item"><a href="/web/20231023210419/https://developer.android.com/guide/navigation/use-graph/programmatic" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /guide/navigation/use-graph/programmatic" track-type="bookNav" track-name="click" track-metadata-eventdetail="/guide/navigation/use-graph/programmatic"><span class="devsite-nav-text" tooltip>Interact programmatically with the Navigation component</span></a></li></ul></div></li><li class="devsite-nav-item devsite-nav-expandable"><div class="devsite-expandable-nav"> <a class="devsite-nav-toggle" aria-hidden="true"></a><div class="devsite-nav-title devsite-nav-title-no-path" tabindex="0" role="button"> <span class="devsite-nav-text" tooltip>The back stack</span> </div><ul class="devsite-nav-section"><li class="devsite-nav-item"><a href="/web/20231023210419/https://developer.android.com/guide/navigation/backstack" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /guide/navigation/backstack" track-type="bookNav" track-name="click" track-metadata-eventdetail="/guide/navigation/backstack"><span class="devsite-nav-text" tooltip>Overview</span></a></li><li class="devsite-nav-item"><a href="/web/20231023210419/https://developer.android.com/guide/navigation/backstack/dialog" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /guide/navigation/backstack/dialog" track-type="bookNav" track-name="click" track-metadata-eventdetail="/guide/navigation/backstack/dialog"><span class="devsite-nav-text" tooltip>Dialogs and the back stack</span></a></li><li class="devsite-nav-item"><a href="/web/20231023210419/https://developer.android.com/guide/navigation/backstack/circular" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /guide/navigation/backstack/circular" track-type="bookNav" track-name="click" track-metadata-eventdetail="/guide/navigation/backstack/circular"><span class="devsite-nav-text" tooltip>Circular navigation and the back stack</span></a></li><li class="devsite-nav-item"><a href="/web/20231023210419/https://developer.android.com/guide/navigation/backstack/multi-back-stacks" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /guide/navigation/backstack/multi-back-stacks" track-type="bookNav" track-name="click" track-metadata-eventdetail="/guide/navigation/backstack/multi-back-stacks"><span class="devsite-nav-text" tooltip>Multiple back stacks</span></a></li></ul></div></li><li class="devsite-nav-item devsite-nav-expandable"><div class="devsite-expandable-nav"> <a class="devsite-nav-toggle" aria-hidden="true"></a><div class="devsite-nav-title devsite-nav-title-no-path" tabindex="0" role="button"> <span class="devsite-nav-text" tooltip>Integrations</span> </div><ul class="devsite-nav-section"><li class="devsite-nav-item"><a href="/web/20231023210419/https://developer.android.com/guide/navigation/integrations/feature-modules" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /guide/navigation/integrations/feature-modules" track-type="bookNav" track-name="click" track-metadata-eventdetail="/guide/navigation/integrations/feature-modules"><span class="devsite-nav-text" tooltip>Navigate with feature modules</span></a></li><li class="devsite-nav-item"><a href="/web/20231023210419/https://developer.android.com/guide/navigation/integrations/multi-module" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /guide/navigation/integrations/multi-module" track-type="bookNav" track-name="click" track-metadata-eventdetail="/guide/navigation/integrations/multi-module"><span class="devsite-nav-text" tooltip>Multi-module projects</span></a></li><li class="devsite-nav-item"><a href="/web/20231023210419/https://developer.android.com/guide/navigation/integrations/ui" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /guide/navigation/integrations/ui" track-type="bookNav" track-name="click" track-metadata-eventdetail="/guide/navigation/integrations/ui"><span class="devsite-nav-text" tooltip>Connect UI components to NavController</span></a></li></ul></div></li><li class="devsite-nav-item"><a href="/web/20231023210419/https://developer.android.com/guide/navigation/migrate" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /guide/navigation/migrate" track-type="bookNav" track-name="click" track-metadata-eventdetail="/guide/navigation/migrate"><span class="devsite-nav-text" tooltip>Migrate to the Navigation component</span></a></li><li class="devsite-nav-item"><a href="/web/20231023210419/https://developer.android.com/guide/navigation/testing" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /guide/navigation/testing" track-type="bookNav" track-name="click" track-metadata-eventdetail="/guide/navigation/testing"><span class="devsite-nav-text" tooltip>Test Navigation</span></a></li></ul></div></li><li class="devsite-nav-item devsite-nav-expandable"><div class="devsite-expandable-nav"> <a class="devsite-nav-toggle" aria-hidden="true"></a><div class="devsite-nav-title devsite-nav-title-no-path" tabindex="0" role="button"> <span class="devsite-nav-text" tooltip>Custom back navigation</span> </div><ul class="devsite-nav-section"><li class="devsite-nav-item"><a href="/web/20231023210419/https://developer.android.com/guide/navigation/custom-back" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /guide/navigation/custom-back" track-type="bookNav" track-name="click" track-metadata-eventdetail="/guide/navigation/custom-back"><span class="devsite-nav-text" tooltip>Custom back navigation</span></a></li><li class="devsite-nav-item"><a href="/web/20231023210419/https://developer.android.com/guide/navigation/custom-back/predictive-back-gesture" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /guide/navigation/custom-back/predictive-back-gesture" track-type="bookNav" track-name="click" track-metadata-eventdetail="/guide/navigation/custom-back/predictive-back-gesture"><span class="devsite-nav-text" tooltip>Predictive back gesture</span></a></li><li class="devsite-nav-item"><a href="/web/20231023210419/https://developer.android.com/guide/navigation/custom-back/support-animations" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /guide/navigation/custom-back/support-animations" track-type="bookNav" track-name="click" track-metadata-eventdetail="/guide/navigation/custom-back/support-animations"><span class="devsite-nav-text" tooltip>Add support for predictive back animations</span></a></li></ul></div></li><li class="devsite-nav-item devsite-nav-expandable"><div class="devsite-expandable-nav"> <a class="devsite-nav-toggle" aria-hidden="true"></a><div class="devsite-nav-title devsite-nav-title-no-path" tabindex="0" role="button"> <span class="devsite-nav-text" tooltip>Responsive design</span> </div><ul class="devsite-nav-section"><li class="devsite-nav-item"><a href="/web/20231023210419/https://developer.android.com/guide/navigation/responsive/config-changes" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /guide/navigation/responsive/config-changes" track-type="bookNav" track-name="click" track-metadata-eventdetail="/guide/navigation/responsive/config-changes"><span class="devsite-nav-text" tooltip>Handling configuration changes</span></a></li><li class="devsite-nav-item"><a href="/web/20231023210419/https://developer.android.com/guide/navigation/responsive/form-factors" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /guide/navigation/responsive/form-factors" track-type="bookNav" track-name="click" track-metadata-eventdetail="/guide/navigation/responsive/form-factors"><span class="devsite-nav-text" tooltip>Design for different form factors</span></a></li></ul></div></li><li class="devsite-nav-item devsite-nav-expandable"><div class="devsite-expandable-nav"> <a class="devsite-nav-toggle" aria-hidden="true"></a><div class="devsite-nav-title devsite-nav-title-no-path" tabindex="0" role="button"> <span class="devsite-nav-text" tooltip>Swipe between views</span> </div><ul class="devsite-nav-section"><li class="devsite-nav-item"><a href="/web/20231023210419/https://developer.android.com/guide/navigation/advanced/swipe-view-2" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /guide/navigation/advanced/swipe-view-2" track-type="bookNav" track-name="click" track-metadata-eventdetail="/guide/navigation/advanced/swipe-view-2"><span class="devsite-nav-text" tooltip>Swipe views using ViewPager2</span></a></li><li class="devsite-nav-item"><a href="/web/20231023210419/https://developer.android.com/guide/navigation/advanced/swipe-view" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /guide/navigation/advanced/swipe-view" track-type="bookNav" track-name="click" track-metadata-eventdetail="/guide/navigation/advanced/swipe-view"><span class="devsite-nav-text" tooltip>Swipe views using ViewPager</span></a></li></ul></div></li><li class="devsite-nav-item devsite-nav-expandable"><div class="devsite-expandable-nav"> <a class="devsite-nav-toggle" aria-hidden="true"></a><div class="devsite-nav-title devsite-nav-title-no-path" tabindex="0" role="button"> <span class="devsite-nav-text" tooltip>Fragments</span> </div><ul class="devsite-nav-section"><li class="devsite-nav-item"><a href="/web/20231023210419/https://developer.android.com/guide/fragments" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /guide/fragments" track-type="bookNav" track-name="click" track-metadata-eventdetail="/guide/fragments"><span class="devsite-nav-text" tooltip>About fragments</span></a></li><li class="devsite-nav-item"><a href="/web/20231023210419/https://developer.android.com/guide/fragments/create" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /guide/fragments/create" track-type="bookNav" track-name="click" track-metadata-eventdetail="/guide/fragments/create"><span class="devsite-nav-text" tooltip>Create a fragment</span></a></li><li class="devsite-nav-item"><a href="/web/20231023210419/https://developer.android.com/guide/fragments/fragmentmanager" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /guide/fragments/fragmentmanager" track-type="bookNav" track-name="click" track-metadata-eventdetail="/guide/fragments/fragmentmanager"><span class="devsite-nav-text" tooltip>Fragment manager</span></a></li><li class="devsite-nav-item"><a href="/web/20231023210419/https://developer.android.com/guide/fragments/transactions" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /guide/fragments/transactions" track-type="bookNav" track-name="click" track-metadata-eventdetail="/guide/fragments/transactions"><span class="devsite-nav-text" tooltip>Fragment transactions</span></a></li><li class="devsite-nav-item"><a href="/web/20231023210419/https://developer.android.com/guide/fragments/animate" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /guide/fragments/animate" track-type="bookNav" track-name="click" track-metadata-eventdetail="/guide/fragments/animate"><span class="devsite-nav-text" tooltip>Animate transitions between fragments</span></a></li><li class="devsite-nav-item"><a href="/web/20231023210419/https://developer.android.com/guide/fragments/lifecycle" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /guide/fragments/lifecycle" track-type="bookNav" track-name="click" track-metadata-eventdetail="/guide/fragments/lifecycle"><span class="devsite-nav-text" tooltip>Fragment lifecycle</span></a></li><li class="devsite-nav-item"><a href="/web/20231023210419/https://developer.android.com/guide/fragments/saving-state" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /guide/fragments/saving-state" track-type="bookNav" track-name="click" track-metadata-eventdetail="/guide/fragments/saving-state"><span class="devsite-nav-text" tooltip>Saving state with fragments</span></a></li><li class="devsite-nav-item"><a href="/web/20231023210419/https://developer.android.com/guide/fragments/communicate" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /guide/fragments/communicate" track-type="bookNav" track-name="click" track-metadata-eventdetail="/guide/fragments/communicate"><span class="devsite-nav-text" tooltip>Communicate with fragments</span></a></li><li class="devsite-nav-item"><a href="/web/20231023210419/https://developer.android.com/guide/fragments/appbar" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /guide/fragments/appbar" track-type="bookNav" track-name="click" track-metadata-eventdetail="/guide/fragments/appbar"><span class="devsite-nav-text" tooltip>Working with the app bar</span></a></li><li class="devsite-nav-item"><a href="/web/20231023210419/https://developer.android.com/guide/fragments/dialogs" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /guide/fragments/dialogs" track-type="bookNav" track-name="click" track-metadata-eventdetail="/guide/fragments/dialogs"><span class="devsite-nav-text" tooltip>Displaying dialogs with DialogFragment</span></a></li><li class="devsite-nav-item"><a href="/web/20231023210419/https://developer.android.com/guide/fragments/debugging" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /guide/fragments/debugging" track-type="bookNav" track-name="click" track-metadata-eventdetail="/guide/fragments/debugging"><span class="devsite-nav-text" tooltip>Debug your fragments</span></a></li><li class="devsite-nav-item"><a href="/web/20231023210419/https://developer.android.com/guide/fragments/test" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /guide/fragments/test" track-type="bookNav" track-name="click" track-metadata-eventdetail="/guide/fragments/test"><span class="devsite-nav-text" tooltip>Test your fragments</span></a></li></ul></div></li><li class="devsite-nav-item devsite-nav-expandable"><div class="devsite-expandable-nav"> <a class="devsite-nav-toggle" aria-hidden="true"></a><div class="devsite-nav-title devsite-nav-title-no-path" tabindex="0" role="button"> <span class="devsite-nav-text" tooltip>App links</span> </div><ul class="devsite-nav-section"><li class="devsite-nav-item"><a href="/web/20231023210419/https://developer.android.com/training/app-links" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /training/app-links" track-type="bookNav" track-name="click" track-metadata-eventdetail="/training/app-links"><span class="devsite-nav-text" tooltip>About app links</span></a></li><li class="devsite-nav-item"><a href="/web/20231023210419/https://developer.android.com/training/app-links/deep-linking" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /training/app-links/deep-linking" track-type="bookNav" track-name="click" track-metadata-eventdetail="/training/app-links/deep-linking"><span class="devsite-nav-text" tooltip>Enabling links to app content</span></a></li><li class="devsite-nav-item"><a href="/web/20231023210419/https://developer.android.com/training/app-links/verify-android-applinks" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /training/app-links/verify-android-applinks" track-type="bookNav" track-name="click" track-metadata-eventdetail="/training/app-links/verify-android-applinks"><span class="devsite-nav-text" tooltip>Verify app links</span></a></li><li class="devsite-nav-item"><a href="/web/20231023210419/https://developer.android.com/training/app-links/instant-app-links" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /training/app-links/instant-app-links" track-type="bookNav" track-name="click" track-metadata-eventdetail="/training/app-links/instant-app-links"><span class="devsite-nav-text" tooltip>Create app links for instant apps</span></a></li></ul></div></li></ul></div></li><li class="devsite-nav-item devsite-nav-expandable"><div class="devsite-expandable-nav"> <a class="devsite-nav-toggle" aria-hidden="true"></a><div class="devsite-nav-title devsite-nav-title-no-path" tabindex="0" role="button"> <span class="devsite-nav-text" tooltip>Dependency injection</span> </div><ul class="devsite-nav-section"><li class="devsite-nav-item"><a href="/web/20231023210419/https://developer.android.com/training/dependency-injection" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /training/dependency-injection" track-type="bookNav" track-name="click" track-metadata-eventdetail="/training/dependency-injection"><span class="devsite-nav-text" tooltip>About dependency injection</span></a></li><li class="devsite-nav-item"><a href="/web/20231023210419/https://developer.android.com/training/dependency-injection/manual" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /training/dependency-injection/manual" track-type="bookNav" track-name="click" track-metadata-eventdetail="/training/dependency-injection/manual"><span class="devsite-nav-text" tooltip>Manual dependency injection</span></a></li><li class="devsite-nav-item"><a href="/web/20231023210419/https://developer.android.com/training/dependency-injection/hilt-android" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /training/dependency-injection/hilt-android" track-type="bookNav" track-name="click" track-metadata-eventdetail="/training/dependency-injection/hilt-android"><span class="devsite-nav-text" tooltip>Dependency injection with Hilt</span></a></li><li class="devsite-nav-item"><a href="/web/20231023210419/https://developer.android.com/training/dependency-injection/hilt-multi-module" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /training/dependency-injection/hilt-multi-module" track-type="bookNav" track-name="click" track-metadata-eventdetail="/training/dependency-injection/hilt-multi-module"><span class="devsite-nav-text" tooltip>Hilt in multi-module apps</span></a></li><li class="devsite-nav-item"><a href="/web/20231023210419/https://developer.android.com/training/dependency-injection/hilt-jetpack" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /training/dependency-injection/hilt-jetpack" track-type="bookNav" track-name="click" track-metadata-eventdetail="/training/dependency-injection/hilt-jetpack"><span class="devsite-nav-text" tooltip>Use Hilt with other Jetpack libraries</span></a></li><li class="devsite-nav-item"><a href="/web/20231023210419/https://developer.android.com/training/dependency-injection/hilt-testing" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /training/dependency-injection/hilt-testing" track-type="bookNav" track-name="click" track-metadata-eventdetail="/training/dependency-injection/hilt-testing"><span class="devsite-nav-text" tooltip>Hilt testing guide</span></a></li><li class="devsite-nav-item"><a href="/web/20231023210419/https://developer.android.com/training/dependency-injection/hilt-cheatsheet" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /training/dependency-injection/hilt-cheatsheet" track-type="bookNav" track-name="click" track-metadata-eventdetail="/training/dependency-injection/hilt-cheatsheet"><span class="devsite-nav-text" tooltip>Hilt and Dagger annotations cheat sheet</span></a></li><li class="devsite-nav-item devsite-nav-expandable"><div class="devsite-expandable-nav"> <a class="devsite-nav-toggle" aria-hidden="true"></a><div class="devsite-nav-title devsite-nav-title-no-path" tabindex="0" role="button"> <span class="devsite-nav-text" tooltip>Dagger</span> </div><ul class="devsite-nav-section"><li class="devsite-nav-item"><a href="/web/20231023210419/https://developer.android.com/training/dependency-injection/dagger-basics" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /training/dependency-injection/dagger-basics" track-type="bookNav" track-name="click" track-metadata-eventdetail="/training/dependency-injection/dagger-basics"><span class="devsite-nav-text" tooltip>Dagger basics</span></a></li><li class="devsite-nav-item"><a href="/web/20231023210419/https://developer.android.com/training/dependency-injection/dagger-android" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /training/dependency-injection/dagger-android" track-type="bookNav" track-name="click" track-metadata-eventdetail="/training/dependency-injection/dagger-android"><span class="devsite-nav-text" tooltip>Using Dagger in Android apps</span></a></li><li class="devsite-nav-item"><a href="/web/20231023210419/https://developer.android.com/training/dependency-injection/dagger-multi-module" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /training/dependency-injection/dagger-multi-module" track-type="bookNav" track-name="click" track-metadata-eventdetail="/training/dependency-injection/dagger-multi-module"><span class="devsite-nav-text" tooltip>Using Dagger in multi-module apps</span></a></li></ul></div></li></ul></div></li><li class="devsite-nav-item"><a href="/web/20231023210419/https://developer.android.com/topic/libraries/app-startup" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /topic/libraries/app-startup" track-type="bookNav" track-name="click" track-metadata-eventdetail="/topic/libraries/app-startup"><span class="devsite-nav-text" tooltip>App Startup</span></a></li></ul></div></li> <li class="devsite-nav-item devsite-nav-expandable devsite-nav-accordion"><div class="devsite-expandable-nav"> <a class="devsite-nav-toggle" aria-hidden="true"></a><div class="devsite-nav-title devsite-nav-title-no-path" tabindex="0" role="button"> <span class="devsite-nav-text" tooltip>User interfaces</span> </div><ul class="devsite-nav-section"><li class="devsite-nav-item"><a href="/web/20231023210419/https://developer.android.com/develop/ui" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /develop/ui" track-type="bookNav" track-name="click" track-metadata-eventdetail="/develop/ui"><span class="devsite-nav-text" tooltip>Build Android user interfaces</span></a></li><li class="devsite-nav-item devsite-nav-expandable"><div class="devsite-expandable-nav"> <a class="devsite-nav-toggle" aria-hidden="true"></a><div class="devsite-nav-title devsite-nav-title-no-path" tabindex="0" role="button"> <span class="devsite-nav-text" tooltip>Create backward-compatible UIs</span> </div><ul class="devsite-nav-section"><li class="devsite-nav-item"><a href="/web/20231023210419/https://developer.android.com/training/backward-compatible-ui" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /training/backward-compatible-ui" track-type="bookNav" track-name="click" track-metadata-eventdetail="/training/backward-compatible-ui"><span class="devsite-nav-text" tooltip>About backward-compatible UIs</span></a></li><li class="devsite-nav-item"><a href="/web/20231023210419/https://developer.android.com/training/backward-compatible-ui/abstracting" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /training/backward-compatible-ui/abstracting" track-type="bookNav" track-name="click" track-metadata-eventdetail="/training/backward-compatible-ui/abstracting"><span class="devsite-nav-text" tooltip>Abstracting the new APIs</span></a></li><li class="devsite-nav-item"><a href="/web/20231023210419/https://developer.android.com/training/backward-compatible-ui/new-implementation" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /training/backward-compatible-ui/new-implementation" track-type="bookNav" track-name="click" track-metadata-eventdetail="/training/backward-compatible-ui/new-implementation"><span class="devsite-nav-text" tooltip>Proxying to the new APIs</span></a></li><li class="devsite-nav-item"><a href="/web/20231023210419/https://developer.android.com/training/backward-compatible-ui/older-implementation" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /training/backward-compatible-ui/older-implementation" track-type="bookNav" track-name="click" track-metadata-eventdetail="/training/backward-compatible-ui/older-implementation"><span class="devsite-nav-text" tooltip>Creating an implementation with older APIs</span></a></li><li class="devsite-nav-item"><a href="/web/20231023210419/https://developer.android.com/training/backward-compatible-ui/using-component" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /training/backward-compatible-ui/using-component" track-type="bookNav" track-name="click" track-metadata-eventdetail="/training/backward-compatible-ui/using-component"><span class="devsite-nav-text" tooltip>Using the version-aware component</span></a></li></ul></div></li></ul></div></li> <li class="devsite-nav-item devsite-nav-expandable devsite-nav-accordion"><div class="devsite-expandable-nav"> <a class="devsite-nav-toggle" aria-hidden="true"></a><div class="devsite-nav-title devsite-nav-title-no-path" tabindex="0" role="button"> <span class="devsite-nav-text" tooltip>Core areas</span> </div><ul class="devsite-nav-section"><li class="devsite-nav-item devsite-nav-expandable"><div class="devsite-expandable-nav"> <a class="devsite-nav-toggle" aria-hidden="true"></a><div class="devsite-nav-title devsite-nav-title-no-path" tabindex="0" role="button"> <span class="devsite-nav-text" tooltip>App compatibility</span> </div><ul class="devsite-nav-section"><li class="devsite-nav-item"><a href="/web/20231023210419/https://developer.android.com/guide/app-compatibility" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /guide/app-compatibility" track-type="bookNav" track-name="click" track-metadata-eventdetail="/guide/app-compatibility"><span class="devsite-nav-text" tooltip>About app compatibility</span></a></li><li class="devsite-nav-item"><a href="/web/20231023210419/https://developer.android.com/guide/app-compatibility/test-debug" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /guide/app-compatibility/test-debug" track-type="bookNav" track-name="click" track-metadata-eventdetail="/guide/app-compatibility/test-debug"><span class="devsite-nav-text" tooltip>Compatibility framework tools</span></a></li><li class="devsite-nav-item"><a href="/web/20231023210419/https://developer.android.com/guide/app-compatibility/restrictions-non-sdk-interfaces" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /guide/app-compatibility/restrictions-non-sdk-interfaces" track-type="bookNav" track-name="click" track-metadata-eventdetail="/guide/app-compatibility/restrictions-non-sdk-interfaces"><span class="devsite-nav-text" tooltip>Restrictions on non-SDK interfaces</span></a></li></ul></div></li><li class="devsite-nav-item devsite-nav-expandable"><div class="devsite-expandable-nav"> <a class="devsite-nav-toggle" aria-hidden="true"></a><div class="devsite-nav-title devsite-nav-title-no-path" tabindex="0" role="button"> <span class="devsite-nav-text" tooltip>Interact with other apps</span> </div><ul class="devsite-nav-section"><li class="devsite-nav-item"><a href="/web/20231023210419/https://developer.android.com/training/basics/intents" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /training/basics/intents" track-type="bookNav" track-name="click" track-metadata-eventdetail="/training/basics/intents"><span class="devsite-nav-text" tooltip>About interacting with other apps</span></a></li><li class="devsite-nav-item"><a href="/web/20231023210419/https://developer.android.com/training/basics/intents/sending" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /training/basics/intents/sending" track-type="bookNav" track-name="click" track-metadata-eventdetail="/training/basics/intents/sending"><span class="devsite-nav-text" tooltip>Sending the user to another app</span></a></li><li class="devsite-nav-item"><a href="/web/20231023210419/https://developer.android.com/training/basics/intents/result" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /training/basics/intents/result" track-type="bookNav" track-name="click" track-metadata-eventdetail="/training/basics/intents/result"><span class="devsite-nav-text" tooltip>Getting a result from an activity</span></a></li><li class="devsite-nav-item"><a href="/web/20231023210419/https://developer.android.com/training/basics/intents/filters" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /training/basics/intents/filters" track-type="bookNav" track-name="click" track-metadata-eventdetail="/training/basics/intents/filters"><span class="devsite-nav-text" tooltip>Allowing other apps to start your activity</span></a></li><li class="devsite-nav-item"><a href="/web/20231023210419/https://developer.android.com/training/basics/intents/limit-play-loading" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /training/basics/intents/limit-play-loading" track-type="bookNav" track-name="click" track-metadata-eventdetail="/training/basics/intents/limit-play-loading"><span class="devsite-nav-text" tooltip>Limit loading in on-device Android containers</span></a></li><li class="devsite-nav-item devsite-nav-expandable"><div class="devsite-expandable-nav"> <a class="devsite-nav-toggle" aria-hidden="true"></a><div class="devsite-nav-title devsite-nav-title-no-path" tabindex="0" role="button"> <span class="devsite-nav-text" tooltip>Package visibility</span> </div><ul class="devsite-nav-section"><li class="devsite-nav-item"><a href="/web/20231023210419/https://developer.android.com/training/package-visibility" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /training/package-visibility" track-type="bookNav" track-name="click" track-metadata-eventdetail="/training/package-visibility"><span class="devsite-nav-text" tooltip>About package visibility</span></a></li><li class="devsite-nav-item"><a href="/web/20231023210419/https://developer.android.com/training/package-visibility/automatic" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /training/package-visibility/automatic" track-type="bookNav" track-name="click" track-metadata-eventdetail="/training/package-visibility/automatic"><span class="devsite-nav-text" tooltip>Know which packages are visible automatically</span></a></li><li class="devsite-nav-item"><a href="/web/20231023210419/https://developer.android.com/training/package-visibility/declaring" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /training/package-visibility/declaring" track-type="bookNav" track-name="click" track-metadata-eventdetail="/training/package-visibility/declaring"><span class="devsite-nav-text" tooltip>Declare package visibility needs</span></a></li><li class="devsite-nav-item"><a href="/web/20231023210419/https://developer.android.com/training/package-visibility/use-cases" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /training/package-visibility/use-cases" track-type="bookNav" track-name="click" track-metadata-eventdetail="/training/package-visibility/use-cases"><span class="devsite-nav-text" tooltip>Fulfill common use cases</span></a></li><li class="devsite-nav-item"><a href="/web/20231023210419/https://developer.android.com/training/package-visibility/testing" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /training/package-visibility/testing" track-type="bookNav" track-name="click" track-metadata-eventdetail="/training/package-visibility/testing"><span class="devsite-nav-text" tooltip>Test package visibility</span></a></li></ul></div></li></ul></div></li><li class="devsite-nav-item devsite-nav-expandable"><div class="devsite-expandable-nav"> <a class="devsite-nav-toggle" aria-hidden="true"></a><div class="devsite-nav-title devsite-nav-title-no-path" tabindex="0" role="button"> <span class="devsite-nav-text" tooltip>Intents and intent filters</span> </div><ul class="devsite-nav-section"><li class="devsite-nav-item"><a href="/web/20231023210419/https://developer.android.com/guide/components/intents-filters" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /guide/components/intents-filters" track-type="bookNav" track-name="click" track-metadata-eventdetail="/guide/components/intents-filters"><span class="devsite-nav-text" tooltip>About intents and intent filters</span></a></li><li class="devsite-nav-item"><a href="/web/20231023210419/https://developer.android.com/guide/components/intents-common" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /guide/components/intents-common" track-type="bookNav" track-name="click" track-metadata-eventdetail="/guide/components/intents-common"><span class="devsite-nav-text" tooltip>Common intents</span></a></li></ul></div></li><li class="devsite-nav-item devsite-nav-expandable"><div class="devsite-expandable-nav"> <a class="devsite-nav-toggle" aria-hidden="true"></a><div class="devsite-nav-title devsite-nav-title-no-path" tabindex="0" role="button"> <span class="devsite-nav-text" tooltip>Audio & video</span> </div><ul class="devsite-nav-section"><li class="devsite-nav-item"><a href="/web/20231023210419/https://developer.android.com/guide/topics/media" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /guide/topics/media" track-type="bookNav" track-name="click" track-metadata-eventdetail="/guide/topics/media"><span class="devsite-nav-text" tooltip>About audio and video</span></a></li><li class="devsite-nav-item"><a href="/web/20231023210419/https://developer.android.com/guide/topics/media/media3" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /guide/topics/media/media3" track-type="bookNav" track-name="click" track-metadata-eventdetail="/guide/topics/media/media3"><span class="devsite-nav-text" tooltip>Introduction to Jetpack Media3</span></a></li><li class="devsite-nav-item devsite-nav-expandable"><div class="devsite-expandable-nav"> <a class="devsite-nav-toggle" aria-hidden="true"></a><div class="devsite-nav-title devsite-nav-title-no-path" tabindex="0" role="button"> <span class="devsite-nav-text" tooltip>Media3 MediaSession</span> </div><ul class="devsite-nav-section"><li class="devsite-nav-item"><a href="/web/20231023210419/https://developer.android.com/guide/topics/media/session/player" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /guide/topics/media/session/player" track-type="bookNav" track-name="click" track-metadata-eventdetail="/guide/topics/media/session/player"><span class="devsite-nav-text" tooltip>The Player interface</span></a></li><li class="devsite-nav-item"><a href="/web/20231023210419/https://developer.android.com/guide/topics/media/session/mediasession" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /guide/topics/media/session/mediasession" track-type="bookNav" track-name="click" track-metadata-eventdetail="/guide/topics/media/session/mediasession"><span class="devsite-nav-text" tooltip>Control and advertise playback using a MediaSession</span></a></li><li class="devsite-nav-item"><a href="/web/20231023210419/https://developer.android.com/guide/topics/media/session/mediasessionservice" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /guide/topics/media/session/mediasessionservice" track-type="bookNav" track-name="click" track-metadata-eventdetail="/guide/topics/media/session/mediasessionservice"><span class="devsite-nav-text" tooltip>Background playback with a MediaSessionService</span></a></li><li class="devsite-nav-item"><a href="/web/20231023210419/https://developer.android.com/guide/topics/media/session/medialibraryservice" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /guide/topics/media/session/medialibraryservice" track-type="bookNav" track-name="click" track-metadata-eventdetail="/guide/topics/media/session/medialibraryservice"><span class="devsite-nav-text" tooltip>Serve a content library with a MediaLibraryService</span></a></li><li class="devsite-nav-item"><a href="/web/20231023210419/https://developer.android.com/guide/topics/media/session/mediacontroller" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /guide/topics/media/session/mediacontroller" track-type="bookNav" track-name="click" track-metadata-eventdetail="/guide/topics/media/session/mediacontroller"><span class="devsite-nav-text" tooltip>Connect to a media app with a MediaController or MediaBrowser</span></a></li></ul></div></li><li class="devsite-nav-item devsite-nav-expandable"><div class="devsite-expandable-nav"> <a class="devsite-nav-toggle" aria-hidden="true"></a><div class="devsite-nav-title devsite-nav-title-no-path" tabindex="0" role="button"> <span class="devsite-nav-text" tooltip>Media3 ExoPlayer</span> </div><ul class="devsite-nav-section"><li class="devsite-nav-item"><a href="/web/20231023210419/https://developer.android.com/guide/topics/media/exoplayer" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /guide/topics/media/exoplayer" track-type="bookNav" track-name="click" track-metadata-eventdetail="/guide/topics/media/exoplayer"><span class="devsite-nav-text" tooltip>About Media3 ExoPlayer</span></a></li><li class="devsite-nav-item devsite-nav-expandable"><div class="devsite-expandable-nav"> <a class="devsite-nav-toggle" aria-hidden="true"></a><div class="devsite-nav-title devsite-nav-title-no-path" tabindex="0" role="button"> <span class="devsite-nav-text" tooltip>Getting started</span> </div><ul class="devsite-nav-section"><li class="devsite-nav-item"><a href="/web/20231023210419/https://developer.android.com/guide/topics/media/exoplayer/hello-world" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /guide/topics/media/exoplayer/hello-world" track-type="bookNav" track-name="click" track-metadata-eventdetail="/guide/topics/media/exoplayer/hello-world"><span class="devsite-nav-text" tooltip>Hello world</span></a></li><li class="devsite-nav-item"><a href="/web/20231023210419/https://developer.android.com/guide/topics/media/exoplayer/listening-to-player-events" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /guide/topics/media/exoplayer/listening-to-player-events" track-type="bookNav" track-name="click" track-metadata-eventdetail="/guide/topics/media/exoplayer/listening-to-player-events"><span class="devsite-nav-text" tooltip>Player events</span></a></li><li class="devsite-nav-item"><a href="/web/20231023210419/https://developer.android.com/guide/topics/media/exoplayer/playlists" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /guide/topics/media/exoplayer/playlists" track-type="bookNav" track-name="click" track-metadata-eventdetail="/guide/topics/media/exoplayer/playlists"><span class="devsite-nav-text" tooltip>Playlists</span></a></li><li class="devsite-nav-item"><a href="/web/20231023210419/https://developer.android.com/guide/topics/media/exoplayer/media-items" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /guide/topics/media/exoplayer/media-items" track-type="bookNav" track-name="click" track-metadata-eventdetail="/guide/topics/media/exoplayer/media-items"><span class="devsite-nav-text" tooltip>Media items</span></a></li><li class="devsite-nav-item"><a href="/web/20231023210419/https://developer.android.com/guide/topics/media/exoplayer/media-sources" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /guide/topics/media/exoplayer/media-sources" track-type="bookNav" track-name="click" track-metadata-eventdetail="/guide/topics/media/exoplayer/media-sources"><span class="devsite-nav-text" tooltip>Media sources</span></a></li><li class="devsite-nav-item"><a href="/web/20231023210419/https://developer.android.com/guide/topics/media/exoplayer/track-selection" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /guide/topics/media/exoplayer/track-selection" track-type="bookNav" track-name="click" track-metadata-eventdetail="/guide/topics/media/exoplayer/track-selection"><span class="devsite-nav-text" tooltip>Track selection</span></a></li><li class="devsite-nav-item"><a href="/web/20231023210419/https://developer.android.com/guide/topics/media/exoplayer/downloading-media" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /guide/topics/media/exoplayer/downloading-media" track-type="bookNav" track-name="click" track-metadata-eventdetail="/guide/topics/media/exoplayer/downloading-media"><span class="devsite-nav-text" tooltip>Downloading media</span></a></li><li class="devsite-nav-item"><a href="/web/20231023210419/https://developer.android.com/guide/topics/media/exoplayer/ad-insertion" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /guide/topics/media/exoplayer/ad-insertion" track-type="bookNav" track-name="click" track-metadata-eventdetail="/guide/topics/media/exoplayer/ad-insertion"><span class="devsite-nav-text" tooltip>Ad insertion</span></a></li><li class="devsite-nav-item"><a href="/web/20231023210419/https://developer.android.com/guide/topics/media/exoplayer/retrieving-metadata" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /guide/topics/media/exoplayer/retrieving-metadata" track-type="bookNav" track-name="click" track-metadata-eventdetail="/guide/topics/media/exoplayer/retrieving-metadata"><span class="devsite-nav-text" tooltip>Retrieving metadata</span></a></li><li class="devsite-nav-item"><a href="/web/20231023210419/https://developer.android.com/guide/topics/media/exoplayer/live-streaming" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /guide/topics/media/exoplayer/live-streaming" track-type="bookNav" track-name="click" track-metadata-eventdetail="/guide/topics/media/exoplayer/live-streaming"><span class="devsite-nav-text" tooltip>Live streaming</span></a></li><li class="devsite-nav-item"><a href="/web/20231023210419/https://developer.android.com/guide/topics/media/exoplayer/network-stacks" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /guide/topics/media/exoplayer/network-stacks" track-type="bookNav" track-name="click" track-metadata-eventdetail="/guide/topics/media/exoplayer/network-stacks"><span class="devsite-nav-text" tooltip>Network stacks</span></a></li><li class="devsite-nav-item"><a href="/web/20231023210419/https://developer.android.com/guide/topics/media/exoplayer/debug-logging" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /guide/topics/media/exoplayer/debug-logging" track-type="bookNav" track-name="click" track-metadata-eventdetail="/guide/topics/media/exoplayer/debug-logging"><span class="devsite-nav-text" tooltip>Debug logging</span></a></li><li class="devsite-nav-item"><a href="/web/20231023210419/https://developer.android.com/guide/topics/media/exoplayer/analytics" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /guide/topics/media/exoplayer/analytics" track-type="bookNav" track-name="click" track-metadata-eventdetail="/guide/topics/media/exoplayer/analytics"><span class="devsite-nav-text" tooltip>Analytics</span></a></li><li class="devsite-nav-item"><a href="/web/20231023210419/https://developer.android.com/guide/topics/media/exoplayer/cmcd" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /guide/topics/media/exoplayer/cmcd" track-type="bookNav" track-name="click" track-metadata-eventdetail="/guide/topics/media/exoplayer/cmcd"><span class="devsite-nav-text" tooltip>Common Media Client Data (CMCD)</span></a></li></ul></div></li><li class="devsite-nav-item devsite-nav-expandable"><div class="devsite-expandable-nav"> <a class="devsite-nav-toggle" aria-hidden="true"></a><div class="devsite-nav-title devsite-nav-title-no-path" tabindex="0" role="button"> <span class="devsite-nav-text" tooltip>Media types</span> </div><ul class="devsite-nav-section"><li class="devsite-nav-item"><a href="/web/20231023210419/https://developer.android.com/guide/topics/media/exoplayer/dash" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /guide/topics/media/exoplayer/dash" track-type="bookNav" track-name="click" track-metadata-eventdetail="/guide/topics/media/exoplayer/dash"><span class="devsite-nav-text" tooltip>DASH</span></a></li><li class="devsite-nav-item"><a href="/web/20231023210419/https://developer.android.com/guide/topics/media/exoplayer/hls" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /guide/topics/media/exoplayer/hls" track-type="bookNav" track-name="click" track-metadata-eventdetail="/guide/topics/media/exoplayer/hls"><span class="devsite-nav-text" tooltip>HLS</span></a></li><li class="devsite-nav-item"><a href="/web/20231023210419/https://developer.android.com/guide/topics/media/exoplayer/smoothstreaming" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /guide/topics/media/exoplayer/smoothstreaming" track-type="bookNav" track-name="click" track-metadata-eventdetail="/guide/topics/media/exoplayer/smoothstreaming"><span class="devsite-nav-text" tooltip>SmoothStreaming</span></a></li><li class="devsite-nav-item"><a href="/web/20231023210419/https://developer.android.com/guide/topics/media/exoplayer/progressive" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /guide/topics/media/exoplayer/progressive" track-type="bookNav" track-name="click" track-metadata-eventdetail="/guide/topics/media/exoplayer/progressive"><span class="devsite-nav-text" tooltip>Progressive</span></a></li><li class="devsite-nav-item"><a href="/web/20231023210419/https://developer.android.com/guide/topics/media/exoplayer/rtsp" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /guide/topics/media/exoplayer/rtsp" track-type="bookNav" track-name="click" track-metadata-eventdetail="/guide/topics/media/exoplayer/rtsp"><span class="devsite-nav-text" tooltip>RTSP</span></a></li></ul></div></li><li class="devsite-nav-item devsite-nav-expandable"><div class="devsite-expandable-nav"> <a class="devsite-nav-toggle" aria-hidden="true"></a><div class="devsite-nav-title devsite-nav-title-no-path" tabindex="0" role="button"> <span class="devsite-nav-text" tooltip>Advanced topics</span> </div><ul class="devsite-nav-section"><li class="devsite-nav-item"><a href="/web/20231023210419/https://developer.android.com/guide/topics/media/exoplayer/drm" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /guide/topics/media/exoplayer/drm" track-type="bookNav" track-name="click" track-metadata-eventdetail="/guide/topics/media/exoplayer/drm"><span class="devsite-nav-text" tooltip>Digital rights management</span></a></li><li class="devsite-nav-item"><a href="/web/20231023210419/https://developer.android.com/guide/topics/media/exoplayer/troubleshooting" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /guide/topics/media/exoplayer/troubleshooting" track-type="bookNav" track-name="click" track-metadata-eventdetail="/guide/topics/media/exoplayer/troubleshooting"><span class="devsite-nav-text" tooltip>Troubleshooting</span></a></li><li class="devsite-nav-item"><a href="/web/20231023210419/https://developer.android.com/guide/topics/media/exoplayer/customization" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /guide/topics/media/exoplayer/customization" track-type="bookNav" track-name="click" track-metadata-eventdetail="/guide/topics/media/exoplayer/customization"><span class="devsite-nav-text" tooltip>Customization</span></a></li><li class="devsite-nav-item"><a href="/web/20231023210419/https://developer.android.com/guide/topics/media/exoplayer/battery-consumption" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /guide/topics/media/exoplayer/battery-consumption" track-type="bookNav" track-name="click" track-metadata-eventdetail="/guide/topics/media/exoplayer/battery-consumption"><span class="devsite-nav-text" tooltip>Battery consumption</span></a></li><li class="devsite-nav-item"><a href="/web/20231023210419/https://developer.android.com/guide/topics/media/exoplayer/shrinking" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /guide/topics/media/exoplayer/shrinking" track-type="bookNav" track-name="click" track-metadata-eventdetail="/guide/topics/media/exoplayer/shrinking"><span class="devsite-nav-text" tooltip>APK shrinking</span></a></li><li class="devsite-nav-item"><a href="/web/20231023210419/https://developer.android.com/guide/topics/media/exoplayer/oems" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /guide/topics/media/exoplayer/oems" track-type="bookNav" track-name="click" track-metadata-eventdetail="/guide/topics/media/exoplayer/oems"><span class="devsite-nav-text" tooltip>OEM testing</span></a></li></ul></div></li><li class="devsite-nav-item devsite-nav-expandable"><div class="devsite-expandable-nav"> <a class="devsite-nav-toggle" aria-hidden="true"></a><div class="devsite-nav-title devsite-nav-title-no-path" tabindex="0" role="button"> <span class="devsite-nav-text" tooltip>Helpful resources</span> </div><ul class="devsite-nav-section"><li class="devsite-nav-item devsite-nav-expandable"><div class="devsite-expandable-nav"> <a class="devsite-nav-toggle" aria-hidden="true"></a><div class="devsite-nav-title devsite-nav-title-no-path" tabindex="0" role="button"> <span class="devsite-nav-text" tooltip>Migrating to Media3</span> </div><ul class="devsite-nav-section"><li class="devsite-nav-item"><a href="/web/20231023210419/https://developer.android.com/guide/topics/media/media3/getting-started/migration-guide" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /guide/topics/media/media3/getting-started/migration-guide" track-type="bookNav" track-name="click" track-metadata-eventdetail="/guide/topics/media/media3/getting-started/migration-guide"><span class="devsite-nav-text" tooltip>Migration guide</span></a></li><li class="devsite-nav-item"><a href="/web/20231023210419/https://developer.android.com/guide/topics/media/exoplayer/mappings" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /guide/topics/media/exoplayer/mappings" track-type="bookNav" track-name="click" track-metadata-eventdetail="/guide/topics/media/exoplayer/mappings"><span class="devsite-nav-text" tooltip>ExoPlayer to Media3 mappings</span></a></li></ul></div></li><li class="devsite-nav-item"><a href="/web/20231023210419/https://developer.android.com/guide/topics/media/exoplayer/pros-and-cons" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /guide/topics/media/exoplayer/pros-and-cons" track-type="bookNav" track-name="click" track-metadata-eventdetail="/guide/topics/media/exoplayer/pros-and-cons"><span class="devsite-nav-text" tooltip>Pros and cons</span></a></li><li class="devsite-nav-item"><a href="/web/20231023210419/https://developer.android.com/guide/topics/media/exoplayer/demo-application" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /guide/topics/media/exoplayer/demo-application" track-type="bookNav" track-name="click" track-metadata-eventdetail="/guide/topics/media/exoplayer/demo-application"><span class="devsite-nav-text" tooltip>Demo application</span></a></li><li class="devsite-nav-item"><a href="/web/20231023210419/https://developer.android.com/guide/topics/media/exoplayer/supported-formats" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /guide/topics/media/exoplayer/supported-formats" track-type="bookNav" track-name="click" track-metadata-eventdetail="/guide/topics/media/exoplayer/supported-formats"><span class="devsite-nav-text" tooltip>Supported formats</span></a></li><li class="devsite-nav-item"><a href="/web/20231023210419/https://developer.android.com/guide/topics/media/exoplayer/supported-devices" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /guide/topics/media/exoplayer/supported-devices" track-type="bookNav" track-name="click" track-metadata-eventdetail="/guide/topics/media/exoplayer/supported-devices"><span class="devsite-nav-text" tooltip>Supported devices</span></a></li><li class="devsite-nav-item"><a href="/web/20231023210419/https://developer.android.com/guide/topics/media/exoplayer/glossary" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /guide/topics/media/exoplayer/glossary" track-type="bookNav" track-name="click" track-metadata-eventdetail="/guide/topics/media/exoplayer/glossary"><span class="devsite-nav-text" tooltip>Glossary</span></a></li></ul></div></li><li class="devsite-nav-item devsite-nav-external"><a href="/web/20231023210419/https://developer.android.com/jetpack/androidx/releases/media3" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /jetpack/androidx/releases/media3" track-type="bookNav" track-name="click" track-metadata-eventdetail="/jetpack/androidx/releases/media3"><span class="devsite-nav-text" tooltip>Release notes</span><span class="devsite-nav-icon material-icons" data-icon="external" data-title="External" aria-hidden="true"></span></a></li><li class="devsite-nav-item devsite-nav-external"><a href="/web/20231023210419/https://developer.android.com/reference/androidx/packages" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /reference/androidx/packages" track-type="bookNav" track-name="click" track-metadata-eventdetail="/reference/androidx/packages"><span class="devsite-nav-text" tooltip>Javadoc</span><span class="devsite-nav-icon material-icons" data-icon="external" data-title="External" aria-hidden="true"></span></a></li><li class="devsite-nav-item devsite-nav-external"><a href="http://web.archive.org/web/20231023210419/https://github.com/androidx/media" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: https://github.com/androidx/media" track-type="bookNav" track-name="click" track-metadata-eventdetail="https://github.com/androidx/media"><span class="devsite-nav-text" tooltip>GitHub</span><span class="devsite-nav-icon material-icons" data-icon="external" data-title="External" aria-hidden="true"></span></a></li><li class="devsite-nav-item devsite-nav-external"><a href="http://web.archive.org/web/20231023210419/https://medium.com/google-exoplayer" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: https://medium.com/google-exoplayer" track-type="bookNav" track-name="click" track-metadata-eventdetail="https://medium.com/google-exoplayer"><span class="devsite-nav-text" tooltip>Blog</span><span class="devsite-nav-icon material-icons" data-icon="external" data-title="External" aria-hidden="true"></span></a></li></ul></div></li><li class="devsite-nav-item devsite-nav-expandable"><div class="devsite-expandable-nav"> <a class="devsite-nav-toggle" aria-hidden="true"></a><div class="devsite-nav-title devsite-nav-title-no-path" tabindex="0" role="button"> <span class="devsite-nav-text" tooltip>Media3 Transformer</span> </div><ul class="devsite-nav-section"><li class="devsite-nav-item"><a href="/web/20231023210419/https://developer.android.com/guide/topics/media/transformer" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /guide/topics/media/transformer" track-type="bookNav" track-name="click" track-metadata-eventdetail="/guide/topics/media/transformer"><span class="devsite-nav-text" tooltip>About Media3 Transformer</span></a></li><li class="devsite-nav-item devsite-nav-expandable"><div class="devsite-expandable-nav"> <a class="devsite-nav-toggle" aria-hidden="true"></a><div class="devsite-nav-title devsite-nav-title-no-path" tabindex="0" role="button"> <span class="devsite-nav-text" tooltip>Getting started</span> </div><ul class="devsite-nav-section"><li class="devsite-nav-item"><a href="/web/20231023210419/https://developer.android.com/guide/topics/media/transformer/getting-started" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /guide/topics/media/transformer/getting-started" track-type="bookNav" track-name="click" track-metadata-eventdetail="/guide/topics/media/transformer/getting-started"><span class="devsite-nav-text" tooltip>Hello world</span></a></li><li class="devsite-nav-item"><a href="/web/20231023210419/https://developer.android.com/guide/topics/media/transformer/demo-application" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /guide/topics/media/transformer/demo-application" track-type="bookNav" track-name="click" track-metadata-eventdetail="/guide/topics/media/transformer/demo-application"><span class="devsite-nav-text" tooltip>Demo application</span></a></li><li class="devsite-nav-item"><a href="/web/20231023210419/https://developer.android.com/guide/topics/media/transformer/transformations" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /guide/topics/media/transformer/transformations" track-type="bookNav" track-name="click" track-metadata-eventdetail="/guide/topics/media/transformer/transformations"><span class="devsite-nav-text" tooltip>Transformations</span></a></li><li class="devsite-nav-item"><a href="/web/20231023210419/https://developer.android.com/guide/topics/media/transformer/supported-formats" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /guide/topics/media/transformer/supported-formats" track-type="bookNav" track-name="click" track-metadata-eventdetail="/guide/topics/media/transformer/supported-formats"><span class="devsite-nav-text" tooltip>Supported formats</span></a></li></ul></div></li><li class="devsite-nav-item devsite-nav-expandable"><div class="devsite-expandable-nav"> <a class="devsite-nav-toggle" aria-hidden="true"></a><div class="devsite-nav-title devsite-nav-title-no-path" tabindex="0" role="button"> <span class="devsite-nav-text" tooltip>Advanced topics</span> </div><ul class="devsite-nav-section"><li class="devsite-nav-item"><a href="/web/20231023210419/https://developer.android.com/guide/topics/media/transformer/customization" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /guide/topics/media/transformer/customization" track-type="bookNav" track-name="click" track-metadata-eventdetail="/guide/topics/media/transformer/customization"><span class="devsite-nav-text" tooltip>Customization</span></a></li><li class="devsite-nav-item"><a href="/web/20231023210419/https://developer.android.com/guide/topics/media/transformer/troubleshooting" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /guide/topics/media/transformer/troubleshooting" track-type="bookNav" track-name="click" track-metadata-eventdetail="/guide/topics/media/transformer/troubleshooting"><span class="devsite-nav-text" tooltip>Troubleshooting</span></a></li></ul></div></li><li class="devsite-nav-item devsite-nav-external"><a href="/web/20231023210419/https://developer.android.com/jetpack/androidx/releases/media3" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /jetpack/androidx/releases/media3" track-type="bookNav" track-name="click" track-metadata-eventdetail="/jetpack/androidx/releases/media3"><span class="devsite-nav-text" tooltip>Release notes</span><span class="devsite-nav-icon material-icons" data-icon="external" data-title="External" aria-hidden="true"></span></a></li><li class="devsite-nav-item devsite-nav-external"><a href="/web/20231023210419/https://developer.android.com/reference/androidx/media3/transformer" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /reference/androidx/media3/transformer" track-type="bookNav" track-name="click" track-metadata-eventdetail="/reference/androidx/media3/transformer"><span class="devsite-nav-text" tooltip>Javadoc</span><span class="devsite-nav-icon material-icons" data-icon="external" data-title="External" aria-hidden="true"></span></a></li><li class="devsite-nav-item devsite-nav-external"><a href="http://web.archive.org/web/20231023210419/https://github.com/androidx/media" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: https://github.com/androidx/media" track-type="bookNav" track-name="click" track-metadata-eventdetail="https://github.com/androidx/media"><span class="devsite-nav-text" tooltip>GitHub</span><span class="devsite-nav-icon material-icons" data-icon="external" data-title="External" aria-hidden="true"></span></a></li><li class="devsite-nav-item devsite-nav-external"><a href="http://web.archive.org/web/20231023210419/https://medium.com/google-exoplayer" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: https://medium.com/google-exoplayer" track-type="bookNav" track-name="click" track-metadata-eventdetail="https://medium.com/google-exoplayer"><span class="devsite-nav-text" tooltip>ExoPlayer Blog</span><span class="devsite-nav-icon material-icons" data-icon="external" data-title="External" aria-hidden="true"></span></a></li></ul></div></li><li class="devsite-nav-item devsite-nav-expandable"><div class="devsite-expandable-nav"> <a class="devsite-nav-toggle" aria-hidden="true"></a><div class="devsite-nav-title devsite-nav-title-no-path" tabindex="0" role="button"> <span class="devsite-nav-text" tooltip>Media3 UI</span> </div><ul class="devsite-nav-section"><li class="devsite-nav-item"><a href="/web/20231023210419/https://developer.android.com/guide/topics/media/ui/playerview" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /guide/topics/media/ui/playerview" track-type="bookNav" track-name="click" track-metadata-eventdetail="/guide/topics/media/ui/playerview"><span class="devsite-nav-text" tooltip>Playback controls</span></a></li><li class="devsite-nav-item"><a href="/web/20231023210419/https://developer.android.com/guide/topics/media/ui/customization" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /guide/topics/media/ui/customization" track-type="bookNav" track-name="click" track-metadata-eventdetail="/guide/topics/media/ui/customization"><span class="devsite-nav-text" tooltip>Customization</span></a></li></ul></div></li><li class="devsite-nav-item devsite-nav-expandable"><div class="devsite-expandable-nav"> <a class="devsite-nav-toggle" aria-hidden="true"></a><div class="devsite-nav-title devsite-nav-title-no-path" tabindex="0" role="button"> <span class="devsite-nav-text" tooltip>Jetpack MediaRouter</span> </div><ul class="devsite-nav-section"><li class="devsite-nav-item"><a href="/web/20231023210419/https://developer.android.com/guide/topics/media/routing" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /guide/topics/media/routing" track-type="bookNav" track-name="click" track-metadata-eventdetail="/guide/topics/media/routing"><span class="devsite-nav-text" tooltip>Routing overview</span></a></li><li class="devsite-nav-item"><a href="/web/20231023210419/https://developer.android.com/guide/topics/media/routing/mediarouter" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /guide/topics/media/routing/mediarouter" track-type="bookNav" track-name="click" track-metadata-eventdetail="/guide/topics/media/routing/mediarouter"><span class="devsite-nav-text" tooltip>Controlling playback output routing</span></a></li><li class="devsite-nav-item"><a href="/web/20231023210419/https://developer.android.com/guide/topics/media/routing/mediarouteprovider" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /guide/topics/media/routing/mediarouteprovider" track-type="bookNav" track-name="click" track-metadata-eventdetail="/guide/topics/media/routing/mediarouteprovider"><span class="devsite-nav-text" tooltip>Defining playback output routes</span></a></li></ul></div></li><li class="devsite-nav-item devsite-nav-expandable"><div class="devsite-expandable-nav"> <a class="devsite-nav-toggle" aria-hidden="true"></a><div class="devsite-nav-title devsite-nav-title-no-path" tabindex="0" role="button"> <span class="devsite-nav-text" tooltip>Platform APIs and behaviors</span> </div><ul class="devsite-nav-section"><li class="devsite-nav-item"><a href="/web/20231023210419/https://developer.android.com/guide/topics/media/platform" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /guide/topics/media/platform" track-type="bookNav" track-name="click" track-metadata-eventdetail="/guide/topics/media/platform"><span class="devsite-nav-text" tooltip>Platform topics overview</span></a></li><li class="devsite-nav-item devsite-nav-expandable"><div class="devsite-expandable-nav"> <a class="devsite-nav-toggle" aria-hidden="true"></a><div class="devsite-nav-title devsite-nav-title-no-path" tabindex="0" role="button"> <span class="devsite-nav-text" tooltip>Media formats</span> </div><ul class="devsite-nav-section"><li class="devsite-nav-item"><a href="/web/20231023210419/https://developer.android.com/guide/topics/media/platform/supported-formats" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /guide/topics/media/platform/supported-formats" track-type="bookNav" track-name="click" track-metadata-eventdetail="/guide/topics/media/platform/supported-formats"><span class="devsite-nav-text" tooltip>Supported media formats</span></a></li><li class="devsite-nav-item"><a href="/web/20231023210419/https://developer.android.com/guide/topics/media/platform/hdr-image-format" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /guide/topics/media/platform/hdr-image-format" track-type="bookNav" track-name="click" track-metadata-eventdetail="/guide/topics/media/platform/hdr-image-format"><span class="devsite-nav-text" tooltip>Ultra HDR image format specification</span></a></li></ul></div></li><li class="devsite-nav-item"><a href="/web/20231023210419/https://developer.android.com/guide/topics/media/platform/transcoding" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /guide/topics/media/platform/transcoding" track-type="bookNav" track-name="click" track-metadata-eventdetail="/guide/topics/media/platform/transcoding"><span class="devsite-nav-text" tooltip>Compatible media transcoding</span></a></li><li class="devsite-nav-item"><a href="/web/20231023210419/https://developer.android.com/guide/topics/media/platform/mediaplayer" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /guide/topics/media/platform/mediaplayer" track-type="bookNav" track-name="click" track-metadata-eventdetail="/guide/topics/media/platform/mediaplayer"><span class="devsite-nav-text" tooltip>MediaPlayer overview</span></a></li><li class="devsite-nav-item"><a href="/web/20231023210419/https://developer.android.com/guide/topics/media/platform/volumeshaper" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /guide/topics/media/platform/volumeshaper" track-type="bookNav" track-name="click" track-metadata-eventdetail="/guide/topics/media/platform/volumeshaper"><span class="devsite-nav-text" tooltip>Controlling amplitude with VolumeShaper</span></a></li><li class="devsite-nav-item"><a href="/web/20231023210419/https://developer.android.com/guide/topics/media/platform/improve-audio-playback" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /guide/topics/media/platform/improve-audio-playback" track-type="bookNav" track-name="click" track-metadata-eventdetail="/guide/topics/media/platform/improve-audio-playback"><span class="devsite-nav-text" tooltip>Improve audio playback</span></a></li><li class="devsite-nav-item"><a href="/web/20231023210419/https://developer.android.com/guide/topics/media/platform/output" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /guide/topics/media/platform/output" track-type="bookNav" track-name="click" track-metadata-eventdetail="/guide/topics/media/platform/output"><span class="devsite-nav-text" tooltip>Handling changes in audio output</span></a></li><li class="devsite-nav-item"><a href="/web/20231023210419/https://developer.android.com/guide/topics/media/platform/sharing-audio-input" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /guide/topics/media/platform/sharing-audio-input" track-type="bookNav" track-name="click" track-metadata-eventdetail="/guide/topics/media/platform/sharing-audio-input"><span class="devsite-nav-text" tooltip>Sharing audio input</span></a></li><li class="devsite-nav-item"><a href="/web/20231023210419/https://developer.android.com/guide/topics/media/platform/mediarecorder" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /guide/topics/media/platform/mediarecorder" track-type="bookNav" track-name="click" track-metadata-eventdetail="/guide/topics/media/platform/mediarecorder"><span class="devsite-nav-text" tooltip>MediaRecorder overview</span></a></li><li class="devsite-nav-item"><a href="/web/20231023210419/https://developer.android.com/guide/topics/media/platform/av-capture" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /guide/topics/media/platform/av-capture" track-type="bookNav" track-name="click" track-metadata-eventdetail="/guide/topics/media/platform/av-capture"><span class="devsite-nav-text" tooltip>Capture video and audio playback</span></a></li></ul></div></li><li class="devsite-nav-item devsite-nav-expandable"><div class="devsite-expandable-nav"> <a class="devsite-nav-toggle" aria-hidden="true"></a><div class="devsite-nav-title devsite-nav-title-no-path" tabindex="0" role="button"> <span class="devsite-nav-text" tooltip>Legacy media APIs</span> </div><ul class="devsite-nav-section"><li class="devsite-nav-item"><a href="/web/20231023210419/https://developer.android.com/guide/topics/media/legacy" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /guide/topics/media/legacy" track-type="bookNav" track-name="click" track-metadata-eventdetail="/guide/topics/media/legacy"><span class="devsite-nav-text" tooltip>Media app architecture</span></a></li><li class="devsite-nav-item"><a href="/web/20231023210419/https://developer.android.com/guide/topics/media/legacy/mediasession" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /guide/topics/media/legacy/mediasession" track-type="bookNav" track-name="click" track-metadata-eventdetail="/guide/topics/media/legacy/mediasession"><span class="devsite-nav-text" tooltip>Using a media session</span></a></li><li class="devsite-nav-item devsite-nav-expandable"><div class="devsite-expandable-nav"> <a class="devsite-nav-toggle" aria-hidden="true"></a><div class="devsite-nav-title devsite-nav-title-no-path" tabindex="0" role="button"> <span class="devsite-nav-text" tooltip>Building an audio app</span> </div><ul class="devsite-nav-section"><li class="devsite-nav-item"><a href="/web/20231023210419/https://developer.android.com/guide/topics/media/legacy/audio" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /guide/topics/media/legacy/audio" track-type="bookNav" track-name="click" track-metadata-eventdetail="/guide/topics/media/legacy/audio"><span class="devsite-nav-text" tooltip>About audio apps</span></a></li><li class="devsite-nav-item"><a href="/web/20231023210419/https://developer.android.com/guide/topics/media/legacy/audio/mediabrowserservice" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /guide/topics/media/legacy/audio/mediabrowserservice" track-type="bookNav" track-name="click" track-metadata-eventdetail="/guide/topics/media/legacy/audio/mediabrowserservice"><span class="devsite-nav-text" tooltip>Building a media browser service</span></a></li><li class="devsite-nav-item"><a href="/web/20231023210419/https://developer.android.com/guide/topics/media/legacy/audio/mediabrowser" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /guide/topics/media/legacy/audio/mediabrowser" track-type="bookNav" track-name="click" track-metadata-eventdetail="/guide/topics/media/legacy/audio/mediabrowser"><span class="devsite-nav-text" tooltip>Building a media browser client</span></a></li><li class="devsite-nav-item"><a href="/web/20231023210419/https://developer.android.com/guide/topics/media/legacy/audio/mediasession" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /guide/topics/media/legacy/audio/mediasession" track-type="bookNav" track-name="click" track-metadata-eventdetail="/guide/topics/media/legacy/audio/mediasession"><span class="devsite-nav-text" tooltip>Media session callbacks</span></a></li></ul></div></li><li class="devsite-nav-item devsite-nav-expandable"><div class="devsite-expandable-nav"> <a class="devsite-nav-toggle" aria-hidden="true"></a><div class="devsite-nav-title devsite-nav-title-no-path" tabindex="0" role="button"> <span class="devsite-nav-text" tooltip>Building a video app</span> </div><ul class="devsite-nav-section"><li class="devsite-nav-item"><a href="/web/20231023210419/https://developer.android.com/guide/topics/media/legacy/video" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /guide/topics/media/legacy/video" track-type="bookNav" track-name="click" track-metadata-eventdetail="/guide/topics/media/legacy/video"><span class="devsite-nav-text" tooltip>About video apps</span></a></li><li class="devsite-nav-item"><a href="/web/20231023210419/https://developer.android.com/guide/topics/media/legacy/video/activity" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /guide/topics/media/legacy/video/activity" track-type="bookNav" track-name="click" track-metadata-eventdetail="/guide/topics/media/legacy/video/activity"><span class="devsite-nav-text" tooltip>Building a video player activity</span></a></li><li class="devsite-nav-item"><a href="/web/20231023210419/https://developer.android.com/guide/topics/media/legacy/video/mediasession" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /guide/topics/media/legacy/video/mediasession" track-type="bookNav" track-name="click" track-metadata-eventdetail="/guide/topics/media/legacy/video/mediasession"><span class="devsite-nav-text" tooltip>Media session callbacks</span></a></li></ul></div></li><li class="devsite-nav-item"><a href="/web/20231023210419/https://developer.android.com/guide/topics/media/legacy/media-buttons" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /guide/topics/media/legacy/media-buttons" track-type="bookNav" track-name="click" track-metadata-eventdetail="/guide/topics/media/legacy/media-buttons"><span class="devsite-nav-text" tooltip>Responding to media buttons</span></a></li></ul></div></li></ul></div></li><li class="devsite-nav-item devsite-nav-expandable"><div class="devsite-expandable-nav"> <a class="devsite-nav-toggle" aria-hidden="true"></a><div class="devsite-nav-title devsite-nav-title-no-path" tabindex="0" role="button"> <span class="devsite-nav-text" tooltip>Services</span> </div><ul class="devsite-nav-section"><li class="devsite-nav-item"><a href="/web/20231023210419/https://developer.android.com/guide/components/services" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /guide/components/services" track-type="bookNav" track-name="click" track-metadata-eventdetail="/guide/components/services"><span class="devsite-nav-text" tooltip>About services</span></a></li><li class="devsite-nav-item devsite-nav-expandable"><div class="devsite-expandable-nav"> <a class="devsite-nav-toggle" aria-hidden="true"></a><div class="devsite-nav-title devsite-nav-title-no-path" tabindex="0" role="button"> <span class="devsite-nav-text" tooltip>Foreground services</span> </div><ul class="devsite-nav-section"><li class="devsite-nav-item"><a href="/web/20231023210419/https://developer.android.com/guide/components/foreground-services" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /guide/components/foreground-services" track-type="bookNav" track-name="click" track-metadata-eventdetail="/guide/components/foreground-services"><span class="devsite-nav-text" tooltip>Overview</span></a></li><li class="devsite-nav-item"><a href="/web/20231023210419/https://developer.android.com/guide/components/fg-service-types" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /guide/components/fg-service-types" track-type="bookNav" track-name="click" track-metadata-eventdetail="/guide/components/fg-service-types"><span class="devsite-nav-text" tooltip>Foreground service types</span></a></li></ul></div></li><li class="devsite-nav-item"><a href="/web/20231023210419/https://developer.android.com/guide/components/bound-services" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /guide/components/bound-services" track-type="bookNav" track-name="click" track-metadata-eventdetail="/guide/components/bound-services"><span class="devsite-nav-text" tooltip>Bound services</span></a></li><li class="devsite-nav-item"><a href="/web/20231023210419/https://developer.android.com/guide/components/aidl" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /guide/components/aidl" track-type="bookNav" track-name="click" track-metadata-eventdetail="/guide/components/aidl"><span class="devsite-nav-text" tooltip>About AIDL</span></a></li></ul></div></li><li class="devsite-nav-item devsite-nav-expandable"><div class="devsite-expandable-nav"> <a class="devsite-nav-toggle" aria-hidden="true"></a><div class="devsite-nav-title devsite-nav-title-no-path" tabindex="0" role="button"> <span class="devsite-nav-text" tooltip>Background tasks</span> </div><ul class="devsite-nav-section"><li class="devsite-nav-item"><a href="/web/20231023210419/https://developer.android.com/guide/background" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /guide/background" track-type="bookNav" track-name="click" track-metadata-eventdetail="/guide/background"><span class="devsite-nav-text" tooltip>About background tasks</span></a></li><li class="devsite-nav-item"><a href="/web/20231023210419/https://developer.android.com/guide/background/optimizations" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /guide/background/optimizations" track-type="bookNav" track-name="click" track-metadata-eventdetail="/guide/background/optimizations"><span class="devsite-nav-text" tooltip>Background optimizations</span></a></li><li class="devsite-nav-item"><a href="/web/20231023210419/https://developer.android.com/training/scheduling/wakelock" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /training/scheduling/wakelock" track-type="bookNav" track-name="click" track-metadata-eventdetail="/training/scheduling/wakelock"><span class="devsite-nav-text" tooltip>Manage awake state</span></a></li><li class="devsite-nav-item devsite-nav-expandable"><div class="devsite-expandable-nav"> <a class="devsite-nav-toggle" aria-hidden="true"></a><div class="devsite-nav-title devsite-nav-title-no-path" tabindex="0" role="button"> <span class="devsite-nav-text" tooltip>Asynchronous work</span> </div><ul class="devsite-nav-section"><li class="devsite-nav-item"><a href="/web/20231023210419/https://developer.android.com/guide/background/asynchronous" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /guide/background/asynchronous" track-type="bookNav" track-name="click" track-metadata-eventdetail="/guide/background/asynchronous"><span class="devsite-nav-text" tooltip>About async work</span></a></li><li class="devsite-nav-item"><a href="/web/20231023210419/https://developer.android.com/guide/background/asynchronous/java-threads" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /guide/background/asynchronous/java-threads" track-type="bookNav" track-name="click" track-metadata-eventdetail="/guide/background/asynchronous/java-threads"><span class="devsite-nav-text" tooltip>Java threads</span></a></li><li class="devsite-nav-item"><a href="/web/20231023210419/https://developer.android.com/kotlin/coroutines" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /kotlin/coroutines" track-type="bookNav" track-name="click" track-metadata-eventdetail="/kotlin/coroutines"><span class="devsite-nav-text" tooltip>Coroutines</span></a></li><li class="devsite-nav-item"><a href="/web/20231023210419/https://developer.android.com/guide/background/asynchronous/listenablefuture" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /guide/background/asynchronous/listenablefuture" track-type="bookNav" track-name="click" track-metadata-eventdetail="/guide/background/asynchronous/listenablefuture"><span class="devsite-nav-text" tooltip>Listenable future</span></a></li></ul></div></li><li class="devsite-nav-item devsite-nav-expandable"><div class="devsite-expandable-nav"> <a class="devsite-nav-toggle" aria-hidden="true"></a><div class="devsite-nav-title devsite-nav-title-no-path" tabindex="0" role="button"> <span class="devsite-nav-text" tooltip>Persistent work</span> </div><ul class="devsite-nav-section"><li class="devsite-nav-item"><a href="/web/20231023210419/https://developer.android.com/guide/background/persistent" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /guide/background/persistent" track-type="bookNav" track-name="click" track-metadata-eventdetail="/guide/background/persistent"><span class="devsite-nav-text" tooltip>About persistent work</span></a></li><li class="devsite-nav-item devsite-nav-expandable"><div class="devsite-expandable-nav"> <a class="devsite-nav-toggle" aria-hidden="true"></a><div class="devsite-nav-title devsite-nav-title-no-path" tabindex="0" role="button"> <span class="devsite-nav-text" tooltip>Getting started</span> </div><ul class="devsite-nav-section"><li class="devsite-nav-item"><a href="/web/20231023210419/https://developer.android.com/guide/background/persistent/getting-started" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /guide/background/persistent/getting-started" track-type="bookNav" track-name="click" track-metadata-eventdetail="/guide/background/persistent/getting-started"><span class="devsite-nav-text" tooltip>Getting started</span></a></li><li class="devsite-nav-item"><a href="/web/20231023210419/https://developer.android.com/guide/background/persistent/getting-started/define-work" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /guide/background/persistent/getting-started/define-work" track-type="bookNav" track-name="click" track-metadata-eventdetail="/guide/background/persistent/getting-started/define-work"><span class="devsite-nav-text" tooltip>Define your work requests</span></a></li></ul></div></li><li class="devsite-nav-item devsite-nav-expandable"><div class="devsite-expandable-nav"> <a class="devsite-nav-toggle" aria-hidden="true"></a><div class="devsite-nav-title devsite-nav-title-no-path" tabindex="0" role="button"> <span class="devsite-nav-text" tooltip>How to</span> </div><ul class="devsite-nav-section"><li class="devsite-nav-item"><a href="/web/20231023210419/https://developer.android.com/guide/background/persistent/how-to/states" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /guide/background/persistent/how-to/states" track-type="bookNav" track-name="click" track-metadata-eventdetail="/guide/background/persistent/how-to/states"><span class="devsite-nav-text" tooltip>Work states</span></a></li><li class="devsite-nav-item"><a href="/web/20231023210419/https://developer.android.com/guide/background/persistent/how-to/manage-work" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /guide/background/persistent/how-to/manage-work" track-type="bookNav" track-name="click" track-metadata-eventdetail="/guide/background/persistent/how-to/manage-work"><span class="devsite-nav-text" tooltip>Manage work</span></a></li><li class="devsite-nav-item"><a href="/web/20231023210419/https://developer.android.com/guide/background/persistent/how-to/chain-work" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /guide/background/persistent/how-to/chain-work" track-type="bookNav" track-name="click" track-metadata-eventdetail="/guide/background/persistent/how-to/chain-work"><span class="devsite-nav-text" tooltip>Chain work together</span></a></li><li class="devsite-nav-item"><a href="/web/20231023210419/https://developer.android.com/guide/background/persistent/how-to/long-running" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /guide/background/persistent/how-to/long-running" track-type="bookNav" track-name="click" track-metadata-eventdetail="/guide/background/persistent/how-to/long-running"><span class="devsite-nav-text" tooltip>Support for long-running workers</span></a></li><li class="devsite-nav-item"><a href="/web/20231023210419/https://developer.android.com/guide/background/persistent/how-to/observe" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /guide/background/persistent/how-to/observe" track-type="bookNav" track-name="click" track-metadata-eventdetail="/guide/background/persistent/how-to/observe"><span class="devsite-nav-text" tooltip>Observe intermediate worker progress</span></a></li><li class="devsite-nav-item"><a href="/web/20231023210419/https://developer.android.com/guide/background/persistent/how-to/update-work" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /guide/background/persistent/how-to/update-work" track-type="bookNav" track-name="click" track-metadata-eventdetail="/guide/background/persistent/how-to/update-work"><span class="devsite-nav-text" tooltip>Update work</span></a></li></ul></div></li><li class="devsite-nav-item devsite-nav-expandable"><div class="devsite-expandable-nav"> <a class="devsite-nav-toggle" aria-hidden="true"></a><div class="devsite-nav-title devsite-nav-title-no-path" tabindex="0" role="button"> <span class="devsite-nav-text" tooltip>Threading</span> </div><ul class="devsite-nav-section"><li class="devsite-nav-item"><a href="/web/20231023210419/https://developer.android.com/guide/background/persistent/threading" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /guide/background/persistent/threading" track-type="bookNav" track-name="click" track-metadata-eventdetail="/guide/background/persistent/threading"><span class="devsite-nav-text" tooltip>About threading</span></a></li><li class="devsite-nav-item"><a href="/web/20231023210419/https://developer.android.com/guide/background/persistent/threading/worker" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /guide/background/persistent/threading/worker" track-type="bookNav" track-name="click" track-metadata-eventdetail="/guide/background/persistent/threading/worker"><span class="devsite-nav-text" tooltip>Threading in Worker</span></a></li><li class="devsite-nav-item"><a href="/web/20231023210419/https://developer.android.com/guide/background/persistent/threading/coroutineworker" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /guide/background/persistent/threading/coroutineworker" track-type="bookNav" track-name="click" track-metadata-eventdetail="/guide/background/persistent/threading/coroutineworker"><span class="devsite-nav-text" tooltip>Threading in CoRoutineWorker</span></a></li><li class="devsite-nav-item"><a href="/web/20231023210419/https://developer.android.com/guide/background/persistent/threading/rxworker" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /guide/background/persistent/threading/rxworker" track-type="bookNav" track-name="click" track-metadata-eventdetail="/guide/background/persistent/threading/rxworker"><span class="devsite-nav-text" tooltip>Threading in RxWorker</span></a></li><li class="devsite-nav-item"><a href="/web/20231023210419/https://developer.android.com/guide/background/persistent/threading/listenableworker" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /guide/background/persistent/threading/listenableworker" track-type="bookNav" track-name="click" track-metadata-eventdetail="/guide/background/persistent/threading/listenableworker"><span class="devsite-nav-text" tooltip>Threading in ListenableWorker</span></a></li></ul></div></li><li class="devsite-nav-item devsite-nav-expandable"><div class="devsite-expandable-nav"> <a class="devsite-nav-toggle" aria-hidden="true"></a><div class="devsite-nav-title devsite-nav-title-no-path" tabindex="0" role="button"> <span class="devsite-nav-text" tooltip>Configuration</span> </div><ul class="devsite-nav-section"><li class="devsite-nav-item"><a href="/web/20231023210419/https://developer.android.com/guide/background/persistent/configuration/custom-configuration" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /guide/background/persistent/configuration/custom-configuration" track-type="bookNav" track-name="click" track-metadata-eventdetail="/guide/background/persistent/configuration/custom-configuration"><span class="devsite-nav-text" tooltip>Custom WorkManager configurations</span></a></li></ul></div></li><li class="devsite-nav-item devsite-nav-expandable"><div class="devsite-expandable-nav"> <a class="devsite-nav-toggle" aria-hidden="true"></a><div class="devsite-nav-title devsite-nav-title-no-path" tabindex="0" role="button"> <span class="devsite-nav-text" tooltip>Migrate from legacy solutions</span> </div><ul class="devsite-nav-section"><li class="devsite-nav-item"><a href="/web/20231023210419/https://developer.android.com/guide/background/persistent/migrate-from-legacy/firebase" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /guide/background/persistent/migrate-from-legacy/firebase" track-type="bookNav" track-name="click" track-metadata-eventdetail="/guide/background/persistent/migrate-from-legacy/firebase"><span class="devsite-nav-text" tooltip>Migrate from Firebase JobDispatcher</span></a></li><li class="devsite-nav-item"><a href="/web/20231023210419/https://developer.android.com/guide/background/persistent/migrate-from-legacy/gcm" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /guide/background/persistent/migrate-from-legacy/gcm" track-type="bookNav" track-name="click" track-metadata-eventdetail="/guide/background/persistent/migrate-from-legacy/gcm"><span class="devsite-nav-text" tooltip>Migrate from GCMNetworkManager</span></a></li></ul></div></li></ul></div></li><li class="devsite-nav-item devsite-nav-expandable"><div class="devsite-expandable-nav"> <a class="devsite-nav-toggle" aria-hidden="true"></a><div class="devsite-nav-title devsite-nav-title-no-path" tabindex="0" role="button"> <span class="devsite-nav-text" tooltip>Testing</span> </div><ul class="devsite-nav-section"><li class="devsite-nav-item devsite-nav-expandable"><div class="devsite-expandable-nav"> <a class="devsite-nav-toggle" aria-hidden="true"></a><div class="devsite-nav-title devsite-nav-title-no-path" tabindex="0" role="button"> <span class="devsite-nav-text" tooltip>Asynchronous work</span> </div><ul class="devsite-nav-section"><li class="devsite-nav-item"><a href="/web/20231023210419/https://developer.android.com/kotlin/coroutines/test" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /kotlin/coroutines/test" track-type="bookNav" track-name="click" track-metadata-eventdetail="/kotlin/coroutines/test"><span class="devsite-nav-text" tooltip>Coroutines testing</span></a></li></ul></div></li><li class="devsite-nav-item devsite-nav-expandable"><div class="devsite-expandable-nav"> <a class="devsite-nav-toggle" aria-hidden="true"></a><div class="devsite-nav-title devsite-nav-title-no-path" tabindex="0" role="button"> <span class="devsite-nav-text" tooltip>Persistent work</span> </div><ul class="devsite-nav-section"><li class="devsite-nav-item"><a href="/web/20231023210419/https://developer.android.com/guide/background/testing/persistent/debug" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /guide/background/testing/persistent/debug" track-type="bookNav" track-name="click" track-metadata-eventdetail="/guide/background/testing/persistent/debug"><span class="devsite-nav-text" tooltip>Debug WorkManager</span></a></li><li class="devsite-nav-item"><a href="/web/20231023210419/https://developer.android.com/guide/background/testing/persistent/integration-testing" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /guide/background/testing/persistent/integration-testing" track-type="bookNav" track-name="click" track-metadata-eventdetail="/guide/background/testing/persistent/integration-testing"><span class="devsite-nav-text" tooltip>Integration testing</span></a></li><li class="devsite-nav-item"><a href="/web/20231023210419/https://developer.android.com/guide/background/testing/persistent/worker-impl" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /guide/background/testing/persistent/worker-impl" track-type="bookNav" track-name="click" track-metadata-eventdetail="/guide/background/testing/persistent/worker-impl"><span class="devsite-nav-text" tooltip>Test worker implementation</span></a></li></ul></div></li></ul></div></li><li class="devsite-nav-item devsite-nav-expandable"><div class="devsite-expandable-nav"> <a class="devsite-nav-toggle" aria-hidden="true"></a><div class="devsite-nav-title devsite-nav-title-no-path" tabindex="0" role="button"> <span class="devsite-nav-text" tooltip>Broadcasts</span> </div><ul class="devsite-nav-section"><li class="devsite-nav-item"><a href="/web/20231023210419/https://developer.android.com/guide/components/broadcasts" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /guide/components/broadcasts" track-type="bookNav" track-name="click" track-metadata-eventdetail="/guide/components/broadcasts"><span class="devsite-nav-text" tooltip>About broadcasts</span></a></li><li class="devsite-nav-item"><a href="/web/20231023210419/https://developer.android.com/guide/components/broadcast-exceptions" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /guide/components/broadcast-exceptions" track-type="bookNav" track-name="click" track-metadata-eventdetail="/guide/components/broadcast-exceptions"><span class="devsite-nav-text" tooltip>Implicit Broadcast Exceptions</span></a></li></ul></div></li></ul></div></li><li class="devsite-nav-item devsite-nav-expandable"><div class="devsite-expandable-nav"> <a class="devsite-nav-toggle" aria-hidden="true"></a><div class="devsite-nav-title devsite-nav-title-no-path" tabindex="0" role="button"> <span class="devsite-nav-text" tooltip>Alarms</span> </div><ul class="devsite-nav-section"><li class="devsite-nav-item"><a href="/web/20231023210419/https://developer.android.com/training/scheduling" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /training/scheduling" track-type="bookNav" track-name="click" track-metadata-eventdetail="/training/scheduling"><span class="devsite-nav-text" tooltip>About alarms</span></a></li><li class="devsite-nav-item"><a href="/web/20231023210419/https://developer.android.com/training/scheduling/alarms" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /training/scheduling/alarms" track-type="bookNav" track-name="click" track-metadata-eventdetail="/training/scheduling/alarms"><span class="devsite-nav-text" tooltip>Schedule alarms</span></a></li></ul></div></li><li class="devsite-nav-item devsite-nav-expandable"><div class="devsite-expandable-nav"> <a class="devsite-nav-toggle" aria-hidden="true"></a><div class="devsite-nav-title devsite-nav-title-no-path" tabindex="0" role="button"> <span class="devsite-nav-text" tooltip>Permissions</span> </div><ul class="devsite-nav-section"><li class="devsite-nav-item"><a href="/web/20231023210419/https://developer.android.com/guide/topics/permissions/overview" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /guide/topics/permissions/overview" track-type="bookNav" track-name="click" track-metadata-eventdetail="/guide/topics/permissions/overview"><span class="devsite-nav-text" tooltip>About permissions</span></a></li><li class="devsite-nav-item"><a href="/web/20231023210419/https://developer.android.com/training/permissions/declaring" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /training/permissions/declaring" track-type="bookNav" track-name="click" track-metadata-eventdetail="/training/permissions/declaring"><span class="devsite-nav-text" tooltip>Declare app permissions</span></a></li><li class="devsite-nav-item devsite-nav-expandable"><div class="devsite-expandable-nav"> <a class="devsite-nav-toggle" aria-hidden="true"></a><div class="devsite-nav-title devsite-nav-title-no-path" tabindex="0" role="button"> <span class="devsite-nav-text" tooltip>Request app permissions</span> </div><ul class="devsite-nav-section"><li class="devsite-nav-item"><a href="/web/20231023210419/https://developer.android.com/training/permissions/requesting" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /training/permissions/requesting" track-type="bookNav" track-name="click" track-metadata-eventdetail="/training/permissions/requesting"><span class="devsite-nav-text" tooltip>Request runtime permissions</span></a></li><li class="devsite-nav-item"><a href="/web/20231023210419/https://developer.android.com/training/permissions/requesting-special" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /training/permissions/requesting-special" track-type="bookNav" track-name="click" track-metadata-eventdetail="/training/permissions/requesting-special"><span class="devsite-nav-text" tooltip>Request special permissions</span></a></li></ul></div></li><li class="devsite-nav-item"><a href="/web/20231023210419/https://developer.android.com/training/permissions/explaining-access" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /training/permissions/explaining-access" track-type="bookNav" track-name="click" track-metadata-eventdetail="/training/permissions/explaining-access"><span class="devsite-nav-text" tooltip>Explain access to more sensitive information</span></a></li><li class="devsite-nav-item"><a href="/web/20231023210419/https://developer.android.com/training/permissions/usage-notes" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /training/permissions/usage-notes" track-type="bookNav" track-name="click" track-metadata-eventdetail="/training/permissions/usage-notes"><span class="devsite-nav-text" tooltip>App permissions best practices</span></a></li><li class="devsite-nav-item"><a href="/web/20231023210419/https://developer.android.com/guide/topics/permissions/default-handlers" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /guide/topics/permissions/default-handlers" track-type="bookNav" track-name="click" track-metadata-eventdetail="/guide/topics/permissions/default-handlers"><span class="devsite-nav-text" tooltip>Permissions used only in default handlers</span></a></li><li class="devsite-nav-item"><a href="/web/20231023210419/https://developer.android.com/training/permissions/restrict-interactions" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /training/permissions/restrict-interactions" track-type="bookNav" track-name="click" track-metadata-eventdetail="/training/permissions/restrict-interactions"><span class="devsite-nav-text" tooltip>Restrict interactions with other apps</span></a></li><li class="devsite-nav-item"><a href="/web/20231023210419/https://developer.android.com/guide/topics/permissions/defining" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /guide/topics/permissions/defining" track-type="bookNav" track-name="click" track-metadata-eventdetail="/guide/topics/permissions/defining"><span class="devsite-nav-text" tooltip>Define custom permissions</span></a></li></ul></div></li><li class="devsite-nav-item devsite-nav-expandable"><div class="devsite-expandable-nav"> <a class="devsite-nav-toggle" aria-hidden="true"></a><div class="devsite-nav-title devsite-nav-title-no-path" tabindex="0" role="button"> <span class="devsite-nav-text" tooltip>App data and files</span> </div><ul class="devsite-nav-section"><li class="devsite-nav-item"><a href="/web/20231023210419/https://developer.android.com/guide/topics/data" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /guide/topics/data" track-type="bookNav" track-name="click" track-metadata-eventdetail="/guide/topics/data"><span class="devsite-nav-text" tooltip>About app data and files</span></a></li><li class="devsite-nav-item"><a href="/web/20231023210419/https://developer.android.com/training/data-storage" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /training/data-storage" track-type="bookNav" track-name="click" track-metadata-eventdetail="/training/data-storage"><span class="devsite-nav-text" tooltip>About storage</span></a></li><li class="devsite-nav-item"><a href="/web/20231023210419/https://developer.android.com/training/data-storage/app-specific" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /training/data-storage/app-specific" track-type="bookNav" track-name="click" track-metadata-eventdetail="/training/data-storage/app-specific"><span class="devsite-nav-text" tooltip>Save to app-specific storage</span></a></li><li class="devsite-nav-item devsite-nav-expandable"><div class="devsite-expandable-nav"> <a class="devsite-nav-toggle" aria-hidden="true"></a><div class="devsite-nav-title devsite-nav-title-no-path" tabindex="0" role="button"> <span class="devsite-nav-text" tooltip>Save to shared storage</span> </div><ul class="devsite-nav-section"><li class="devsite-nav-item"><a href="/web/20231023210419/https://developer.android.com/training/data-storage/shared" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /training/data-storage/shared" track-type="bookNav" track-name="click" track-metadata-eventdetail="/training/data-storage/shared"><span class="devsite-nav-text" tooltip>About shared storage</span></a></li><li class="devsite-nav-item"><a href="/web/20231023210419/https://developer.android.com/training/data-storage/shared/media" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /training/data-storage/shared/media" track-type="bookNav" track-name="click" track-metadata-eventdetail="/training/data-storage/shared/media"><span class="devsite-nav-text" tooltip>Media</span></a></li><li class="devsite-nav-item"><a href="/web/20231023210419/https://developer.android.com/training/data-storage/shared/photopicker" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /training/data-storage/shared/photopicker" track-type="bookNav" track-name="click" track-metadata-eventdetail="/training/data-storage/shared/photopicker"><span class="devsite-nav-text" tooltip>Photo picker</span></a></li><li class="devsite-nav-item"><a href="/web/20231023210419/https://developer.android.com/training/data-storage/shared/documents-files" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /training/data-storage/shared/documents-files" track-type="bookNav" track-name="click" track-metadata-eventdetail="/training/data-storage/shared/documents-files"><span class="devsite-nav-text" tooltip>Documents and other files</span></a></li><li class="devsite-nav-item"><a href="/web/20231023210419/https://developer.android.com/training/data-storage/shared/datasets" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /training/data-storage/shared/datasets" track-type="bookNav" track-name="click" track-metadata-eventdetail="/training/data-storage/shared/datasets"><span class="devsite-nav-text" tooltip>Datasets</span></a></li></ul></div></li><li class="devsite-nav-item"><a href="/web/20231023210419/https://developer.android.com/training/data-storage/manage-all-files" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /training/data-storage/manage-all-files" track-type="bookNav" track-name="click" track-metadata-eventdetail="/training/data-storage/manage-all-files"><span class="devsite-nav-text" tooltip>Manage all files on a storage device</span></a></li><li class="devsite-nav-item"><a href="/web/20231023210419/https://developer.android.com/training/data-storage/shared-preferences" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /training/data-storage/shared-preferences" track-type="bookNav" track-name="click" track-metadata-eventdetail="/training/data-storage/shared-preferences"><span class="devsite-nav-text" tooltip>Save key-value data</span></a></li><li class="devsite-nav-item devsite-nav-expandable"><div class="devsite-expandable-nav"> <a class="devsite-nav-toggle" aria-hidden="true"></a><div class="devsite-nav-title devsite-nav-title-no-path" tabindex="0" role="button"> <span class="devsite-nav-text" tooltip>Save data in a local database</span> </div><ul class="devsite-nav-section"><li class="devsite-nav-item"><a href="/web/20231023210419/https://developer.android.com/training/data-storage/room" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /training/data-storage/room" track-type="bookNav" track-name="click" track-metadata-eventdetail="/training/data-storage/room"><span class="devsite-nav-text" tooltip>About the local database</span></a></li><li class="devsite-nav-item"><a href="/web/20231023210419/https://developer.android.com/training/data-storage/room/defining-data" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /training/data-storage/room/defining-data" track-type="bookNav" track-name="click" track-metadata-eventdetail="/training/data-storage/room/defining-data"><span class="devsite-nav-text" tooltip>Define data using entities</span></a></li><li class="devsite-nav-item"><a href="/web/20231023210419/https://developer.android.com/training/data-storage/room/accessing-data" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /training/data-storage/room/accessing-data" track-type="bookNav" track-name="click" track-metadata-eventdetail="/training/data-storage/room/accessing-data"><span class="devsite-nav-text" tooltip>Access data using DAOs</span></a></li><li class="devsite-nav-item"><a href="/web/20231023210419/https://developer.android.com/training/data-storage/room/relationships" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /training/data-storage/room/relationships" track-type="bookNav" track-name="click" track-metadata-eventdetail="/training/data-storage/room/relationships"><span class="devsite-nav-text" tooltip>Define relationships between objects</span></a></li><li class="devsite-nav-item"><a href="/web/20231023210419/https://developer.android.com/training/data-storage/room/async-queries" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /training/data-storage/room/async-queries" track-type="bookNav" track-name="click" track-metadata-eventdetail="/training/data-storage/room/async-queries"><span class="devsite-nav-text" tooltip>Write asynchronous DAO queries</span></a></li><li class="devsite-nav-item"><a href="/web/20231023210419/https://developer.android.com/training/data-storage/room/creating-views" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /training/data-storage/room/creating-views" track-type="bookNav" track-name="click" track-metadata-eventdetail="/training/data-storage/room/creating-views"><span class="devsite-nav-text" tooltip>Create views into a database</span></a></li><li class="devsite-nav-item"><a href="/web/20231023210419/https://developer.android.com/training/data-storage/room/prepopulate" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /training/data-storage/room/prepopulate" track-type="bookNav" track-name="click" track-metadata-eventdetail="/training/data-storage/room/prepopulate"><span class="devsite-nav-text" tooltip>Prepopulate your database</span></a></li><li class="devsite-nav-item"><a href="/web/20231023210419/https://developer.android.com/training/data-storage/room/migrating-db-versions" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /training/data-storage/room/migrating-db-versions" track-type="bookNav" track-name="click" track-metadata-eventdetail="/training/data-storage/room/migrating-db-versions"><span class="devsite-nav-text" tooltip>Migrate your database</span></a></li><li class="devsite-nav-item"><a href="/web/20231023210419/https://developer.android.com/training/data-storage/room/testing-db" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /training/data-storage/room/testing-db" track-type="bookNav" track-name="click" track-metadata-eventdetail="/training/data-storage/room/testing-db"><span class="devsite-nav-text" tooltip>Test and debug your database</span></a></li><li class="devsite-nav-item"><a href="/web/20231023210419/https://developer.android.com/training/data-storage/room/referencing-data" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /training/data-storage/room/referencing-data" track-type="bookNav" track-name="click" track-metadata-eventdetail="/training/data-storage/room/referencing-data"><span class="devsite-nav-text" tooltip>Reference complex data</span></a></li><li class="devsite-nav-item"><a href="/web/20231023210419/https://developer.android.com/training/data-storage/room/sqlite-room-migration" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /training/data-storage/room/sqlite-room-migration" track-type="bookNav" track-name="click" track-metadata-eventdetail="/training/data-storage/room/sqlite-room-migration"><span class="devsite-nav-text" tooltip>Migrate from SQLite to Room</span></a></li><li class="devsite-nav-item"><a href="/web/20231023210419/https://developer.android.com/training/data-storage/sqlite" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /training/data-storage/sqlite" track-type="bookNav" track-name="click" track-metadata-eventdetail="/training/data-storage/sqlite"><span class="devsite-nav-text" tooltip>Save data using SQLite</span></a></li></ul></div></li><li class="devsite-nav-item"><a href="/web/20231023210419/https://developer.android.com/training/data-storage/use-cases" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /training/data-storage/use-cases" track-type="bookNav" track-name="click" track-metadata-eventdetail="/training/data-storage/use-cases"><span class="devsite-nav-text" tooltip>Storage use cases and best practices</span></a></li><li class="devsite-nav-item devsite-nav-expandable"><div class="devsite-expandable-nav"> <a class="devsite-nav-toggle" aria-hidden="true"></a><div class="devsite-nav-title devsite-nav-title-no-path" tabindex="0" role="button"> <span class="devsite-nav-text" tooltip>Sharing simple data</span> </div><ul class="devsite-nav-section"><li class="devsite-nav-item"><a href="/web/20231023210419/https://developer.android.com/training/sharing" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /training/sharing" track-type="bookNav" track-name="click" track-metadata-eventdetail="/training/sharing"><span class="devsite-nav-text" tooltip>About sharing simple data</span></a></li><li class="devsite-nav-item"><a href="/web/20231023210419/https://developer.android.com/training/sharing/send" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /training/sharing/send" track-type="bookNav" track-name="click" track-metadata-eventdetail="/training/sharing/send"><span class="devsite-nav-text" tooltip>Sending simple data to other apps</span></a></li><li class="devsite-nav-item"><a href="/web/20231023210419/https://developer.android.com/training/sharing/receive" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /training/sharing/receive" track-type="bookNav" track-name="click" track-metadata-eventdetail="/training/sharing/receive"><span class="devsite-nav-text" tooltip>Receiving simple data from other apps</span></a></li><li class="devsite-nav-item"><a href="/web/20231023210419/https://developer.android.com/training/sharing/direct-share-targets" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /training/sharing/direct-share-targets" track-type="bookNav" track-name="click" track-metadata-eventdetail="/training/sharing/direct-share-targets"><span class="devsite-nav-text" tooltip>Provide Direct Share targets</span></a></li></ul></div></li><li class="devsite-nav-item devsite-nav-expandable"><div class="devsite-expandable-nav"> <a class="devsite-nav-toggle" aria-hidden="true"></a><div class="devsite-nav-title devsite-nav-title-no-path" tabindex="0" role="button"> <span class="devsite-nav-text" tooltip>Sharing files</span> </div><ul class="devsite-nav-section"><li class="devsite-nav-item"><a href="/web/20231023210419/https://developer.android.com/training/secure-file-sharing" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /training/secure-file-sharing" track-type="bookNav" track-name="click" track-metadata-eventdetail="/training/secure-file-sharing"><span class="devsite-nav-text" tooltip>About sharing files</span></a></li><li class="devsite-nav-item"><a href="/web/20231023210419/https://developer.android.com/training/secure-file-sharing/setup-sharing" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /training/secure-file-sharing/setup-sharing" track-type="bookNav" track-name="click" track-metadata-eventdetail="/training/secure-file-sharing/setup-sharing"><span class="devsite-nav-text" tooltip>Setting up file sharing</span></a></li><li class="devsite-nav-item"><a href="/web/20231023210419/https://developer.android.com/training/secure-file-sharing/share-file" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /training/secure-file-sharing/share-file" track-type="bookNav" track-name="click" track-metadata-eventdetail="/training/secure-file-sharing/share-file"><span class="devsite-nav-text" tooltip>Sharing a file</span></a></li><li class="devsite-nav-item"><a href="/web/20231023210419/https://developer.android.com/training/secure-file-sharing/request-file" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /training/secure-file-sharing/request-file" track-type="bookNav" track-name="click" track-metadata-eventdetail="/training/secure-file-sharing/request-file"><span class="devsite-nav-text" tooltip>Requesting a shared file</span></a></li><li class="devsite-nav-item"><a href="/web/20231023210419/https://developer.android.com/training/secure-file-sharing/retrieve-info" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /training/secure-file-sharing/retrieve-info" track-type="bookNav" track-name="click" track-metadata-eventdetail="/training/secure-file-sharing/retrieve-info"><span class="devsite-nav-text" tooltip>Retrieving file information</span></a></li></ul></div></li><li class="devsite-nav-item devsite-nav-expandable"><div class="devsite-expandable-nav"> <a class="devsite-nav-toggle" aria-hidden="true"></a><div class="devsite-nav-title devsite-nav-title-no-path" tabindex="0" role="button"> <span class="devsite-nav-text" tooltip>Sharing files using NFC</span> </div><ul class="devsite-nav-section"><li class="devsite-nav-item"><a href="/web/20231023210419/https://developer.android.com/training/beam-files" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /training/beam-files" track-type="bookNav" track-name="click" track-metadata-eventdetail="/training/beam-files"><span class="devsite-nav-text" tooltip>About sharing using NFC</span></a></li><li class="devsite-nav-item"><a href="/web/20231023210419/https://developer.android.com/training/beam-files/send-files" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /training/beam-files/send-files" track-type="bookNav" track-name="click" track-metadata-eventdetail="/training/beam-files/send-files"><span class="devsite-nav-text" tooltip>Sending files to another device</span></a></li><li class="devsite-nav-item"><a href="/web/20231023210419/https://developer.android.com/training/beam-files/receive-files" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /training/beam-files/receive-files" track-type="bookNav" track-name="click" track-metadata-eventdetail="/training/beam-files/receive-files"><span class="devsite-nav-text" tooltip>Receiving files from another device</span></a></li></ul></div></li><li class="devsite-nav-item devsite-nav-expandable"><div class="devsite-expandable-nav"> <a class="devsite-nav-toggle" aria-hidden="true"></a><div class="devsite-nav-title devsite-nav-title-no-path" tabindex="0" role="button"> <span class="devsite-nav-text" tooltip>Printing files</span> </div><ul class="devsite-nav-section"><li class="devsite-nav-item"><a href="/web/20231023210419/https://developer.android.com/training/printing" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /training/printing" track-type="bookNav" track-name="click" track-metadata-eventdetail="/training/printing"><span class="devsite-nav-text" tooltip>About printing</span></a></li><li class="devsite-nav-item"><a href="/web/20231023210419/https://developer.android.com/training/printing/photos" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /training/printing/photos" track-type="bookNav" track-name="click" track-metadata-eventdetail="/training/printing/photos"><span class="devsite-nav-text" tooltip>Printing photos</span></a></li><li class="devsite-nav-item"><a href="/web/20231023210419/https://developer.android.com/training/printing/html-docs" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /training/printing/html-docs" track-type="bookNav" track-name="click" track-metadata-eventdetail="/training/printing/html-docs"><span class="devsite-nav-text" tooltip>Printing HTML documents</span></a></li><li class="devsite-nav-item"><a href="/web/20231023210419/https://developer.android.com/training/printing/custom-docs" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /training/printing/custom-docs" track-type="bookNav" track-name="click" track-metadata-eventdetail="/training/printing/custom-docs"><span class="devsite-nav-text" tooltip>Printing custom documents</span></a></li></ul></div></li><li class="devsite-nav-item devsite-nav-expandable"><div class="devsite-expandable-nav"> <a class="devsite-nav-toggle" aria-hidden="true"></a><div class="devsite-nav-title devsite-nav-title-no-path" tabindex="0" role="button"> <span class="devsite-nav-text" tooltip>Content providers</span> </div><ul class="devsite-nav-section"><li class="devsite-nav-item"><a href="/web/20231023210419/https://developer.android.com/guide/topics/providers/content-providers" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /guide/topics/providers/content-providers" track-type="bookNav" track-name="click" track-metadata-eventdetail="/guide/topics/providers/content-providers"><span class="devsite-nav-text" tooltip>About content providers</span></a></li><li class="devsite-nav-item"><a href="/web/20231023210419/https://developer.android.com/guide/topics/providers/content-provider-basics" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /guide/topics/providers/content-provider-basics" track-type="bookNav" track-name="click" track-metadata-eventdetail="/guide/topics/providers/content-provider-basics"><span class="devsite-nav-text" tooltip>Content provider basics</span></a></li><li class="devsite-nav-item"><a href="/web/20231023210419/https://developer.android.com/guide/topics/providers/content-provider-creating" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /guide/topics/providers/content-provider-creating" track-type="bookNav" track-name="click" track-metadata-eventdetail="/guide/topics/providers/content-provider-creating"><span class="devsite-nav-text" tooltip>Creating a content provider</span></a></li><li class="devsite-nav-item"><a href="/web/20231023210419/https://developer.android.com/guide/topics/providers/document-provider" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /guide/topics/providers/document-provider" track-type="bookNav" track-name="click" track-metadata-eventdetail="/guide/topics/providers/document-provider"><span class="devsite-nav-text" tooltip>Open files using storage access framework</span></a></li><li class="devsite-nav-item"><a href="/web/20231023210419/https://developer.android.com/guide/topics/providers/create-document-provider" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /guide/topics/providers/create-document-provider" track-type="bookNav" track-name="click" track-metadata-eventdetail="/guide/topics/providers/create-document-provider"><span class="devsite-nav-text" tooltip>Create a custom document provider</span></a></li></ul></div></li><li class="devsite-nav-item"><a href="/web/20231023210419/https://developer.android.com/guide/topics/data/install-location" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /guide/topics/data/install-location" track-type="bookNav" track-name="click" track-metadata-eventdetail="/guide/topics/data/install-location"><span class="devsite-nav-text" tooltip>App install location</span></a></li></ul></div></li><li class="devsite-nav-item devsite-nav-expandable"><div class="devsite-expandable-nav"> <a class="devsite-nav-toggle" aria-hidden="true"></a><div class="devsite-nav-title devsite-nav-title-no-path" tabindex="0" role="button"> <span class="devsite-nav-text" tooltip>User data and identity</span> </div><ul class="devsite-nav-section"><li class="devsite-nav-item"><a href="/web/20231023210419/https://developer.android.com/guide/user-data" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /guide/user-data" track-type="bookNav" track-name="click" track-metadata-eventdetail="/guide/user-data"><span class="devsite-nav-text" tooltip>About user data</span></a></li><li class="devsite-nav-item"><a href="/web/20231023210419/https://developer.android.com/training/sign-in" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /training/sign-in" track-type="bookNav" track-name="click" track-metadata-eventdetail="/training/sign-in"><span class="devsite-nav-text" tooltip>Add sign-in workflow</span></a></li><li class="devsite-nav-item"><a href="/web/20231023210419/https://developer.android.com/training/sign-in/biometric-auth" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /training/sign-in/biometric-auth" track-type="bookNav" track-name="click" track-metadata-eventdetail="/training/sign-in/biometric-auth"><span class="devsite-nav-text" tooltip>Show a biometric authentication dialog</span></a></li><li class="devsite-nav-item devsite-nav-expandable"><div class="devsite-expandable-nav"> <a class="devsite-nav-toggle" aria-hidden="true"></a><div class="devsite-nav-title devsite-nav-title-no-path" tabindex="0" role="button"> <span class="devsite-nav-text" tooltip>Credential Manager</span> </div><ul class="devsite-nav-section"><li class="devsite-nav-item"><a href="/web/20231023210419/https://developer.android.com/training/sign-in/passkeys" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /training/sign-in/passkeys" track-type="bookNav" track-name="click" track-metadata-eventdetail="/training/sign-in/passkeys"><span class="devsite-nav-text" tooltip>Sign in your user</span></a></li><li class="devsite-nav-item"><a href="/web/20231023210419/https://developer.android.com/training/sign-in/credential-manager" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /training/sign-in/credential-manager" track-type="bookNav" track-name="click" track-metadata-eventdetail="/training/sign-in/credential-manager"><span class="devsite-nav-text" tooltip>Integrate with Sign in with Google</span></a></li><li class="devsite-nav-item"><a href="/web/20231023210419/https://developer.android.com/training/sign-in/fido2-migration" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /training/sign-in/fido2-migration" track-type="bookNav" track-name="click" track-metadata-eventdetail="/training/sign-in/fido2-migration"><span class="devsite-nav-text" tooltip>Migrate from FIDO2</span></a></li><li class="devsite-nav-item"><a href="/web/20231023210419/https://developer.android.com/training/sign-in/credential-provider" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /training/sign-in/credential-provider" track-type="bookNav" track-name="click" track-metadata-eventdetail="/training/sign-in/credential-provider"><span class="devsite-nav-text" tooltip>Integrate with your credential provider solution</span></a></li><li class="devsite-nav-item"><a href="/web/20231023210419/https://developer.android.com/training/sign-in/privileged-apps" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /training/sign-in/privileged-apps" track-type="bookNav" track-name="click" track-metadata-eventdetail="/training/sign-in/privileged-apps"><span class="devsite-nav-text" tooltip>Make calls on behalf of other parties for privileged apps</span></a></li></ul></div></li><li class="devsite-nav-item devsite-nav-expandable"><div class="devsite-expandable-nav"> <a class="devsite-nav-toggle" aria-hidden="true"></a><div class="devsite-nav-title devsite-nav-title-no-path" tabindex="0" role="button"> <span class="devsite-nav-text" tooltip>Autofill framework</span> </div><ul class="devsite-nav-section"><li class="devsite-nav-item"><a href="/web/20231023210419/https://developer.android.com/guide/topics/text/autofill" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /guide/topics/text/autofill" track-type="bookNav" track-name="click" track-metadata-eventdetail="/guide/topics/text/autofill"><span class="devsite-nav-text" tooltip>About autofill</span></a></li><li class="devsite-nav-item"><a href="/web/20231023210419/https://developer.android.com/guide/topics/text/autofill-optimize" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /guide/topics/text/autofill-optimize" track-type="bookNav" track-name="click" track-metadata-eventdetail="/guide/topics/text/autofill-optimize"><span class="devsite-nav-text" tooltip>Optimize your app for autofill</span></a></li><li class="devsite-nav-item"><a href="/web/20231023210419/https://developer.android.com/guide/topics/text/autofill-services" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /guide/topics/text/autofill-services" track-type="bookNav" track-name="click" track-metadata-eventdetail="/guide/topics/text/autofill-services"><span class="devsite-nav-text" tooltip>Build autofill services</span></a></li><li class="devsite-nav-item"><a href="/web/20231023210419/https://developer.android.com/guide/topics/text/ime-autofill" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /guide/topics/text/ime-autofill" track-type="bookNav" track-name="click" track-metadata-eventdetail="/guide/topics/text/ime-autofill"><span class="devsite-nav-text" tooltip>Integrate autofill with keyboards</span></a></li></ul></div></li><li class="devsite-nav-item"><a href="/web/20231023210419/https://developer.android.com/training/articles/app-set-id" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /training/articles/app-set-id" track-type="bookNav" track-name="click" track-metadata-eventdetail="/training/articles/app-set-id"><span class="devsite-nav-text" tooltip>Identify developer-owned apps</span></a></li><li class="devsite-nav-item"><a href="/web/20231023210419/https://developer.android.com/training/articles/ad-id" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /training/articles/ad-id" track-type="bookNav" track-name="click" track-metadata-eventdetail="/training/articles/ad-id"><span class="devsite-nav-text" tooltip>Get a user-resettable advertising ID</span></a></li><li class="devsite-nav-item"><a href="/web/20231023210419/https://developer.android.com/guide/topics/providers/calendar-provider" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /guide/topics/providers/calendar-provider" track-type="bookNav" track-name="click" track-metadata-eventdetail="/guide/topics/providers/calendar-provider"><span class="devsite-nav-text" tooltip>About the calendar provider</span></a></li><li class="devsite-nav-item devsite-nav-expandable"><div class="devsite-expandable-nav"> <a class="devsite-nav-toggle" aria-hidden="true"></a><div class="devsite-nav-title devsite-nav-title-no-path" tabindex="0" role="button"> <span class="devsite-nav-text" tooltip>Contacts provider</span> </div><ul class="devsite-nav-section"><li class="devsite-nav-item"><a href="/web/20231023210419/https://developer.android.com/guide/topics/providers/contacts-provider" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /guide/topics/providers/contacts-provider" track-type="bookNav" track-name="click" track-metadata-eventdetail="/guide/topics/providers/contacts-provider"><span class="devsite-nav-text" tooltip>About the contacts provider</span></a></li><li class="devsite-nav-item"><a href="/web/20231023210419/https://developer.android.com/training/contacts-provider/retrieve-names" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /training/contacts-provider/retrieve-names" track-type="bookNav" track-name="click" track-metadata-eventdetail="/training/contacts-provider/retrieve-names"><span class="devsite-nav-text" tooltip>Retrieving a list of contacts</span></a></li><li class="devsite-nav-item"><a href="/web/20231023210419/https://developer.android.com/training/contacts-provider/retrieve-details" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /training/contacts-provider/retrieve-details" track-type="bookNav" track-name="click" track-metadata-eventdetail="/training/contacts-provider/retrieve-details"><span class="devsite-nav-text" tooltip>Retrieving details for a contact</span></a></li><li class="devsite-nav-item"><a href="/web/20231023210419/https://developer.android.com/training/contacts-provider/modify-data" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /training/contacts-provider/modify-data" track-type="bookNav" track-name="click" track-metadata-eventdetail="/training/contacts-provider/modify-data"><span class="devsite-nav-text" tooltip>Modifying contacts using intents</span></a></li><li class="devsite-nav-item"><a href="/web/20231023210419/https://developer.android.com/training/contacts-provider/display-contact-badge" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /training/contacts-provider/display-contact-badge" track-type="bookNav" track-name="click" track-metadata-eventdetail="/training/contacts-provider/display-contact-badge"><span class="devsite-nav-text" tooltip>Displaying the quick contact badge</span></a></li></ul></div></li><li class="devsite-nav-item"><a href="/web/20231023210419/https://developer.android.com/guide/topics/data/account-transfer" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /guide/topics/data/account-transfer" track-type="bookNav" track-name="click" track-metadata-eventdetail="/guide/topics/data/account-transfer"><span class="devsite-nav-text" tooltip>Account transfer</span></a></li><li class="devsite-nav-item devsite-nav-expandable"><div class="devsite-expandable-nav"> <a class="devsite-nav-toggle" aria-hidden="true"></a><div class="devsite-nav-title devsite-nav-title-no-path" tabindex="0" role="button"> <span class="devsite-nav-text" tooltip>Data backup</span> </div><ul class="devsite-nav-section"><li class="devsite-nav-item"><a href="/web/20231023210419/https://developer.android.com/guide/topics/data/backup" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /guide/topics/data/backup" track-type="bookNav" track-name="click" track-metadata-eventdetail="/guide/topics/data/backup"><span class="devsite-nav-text" tooltip>About backup</span></a></li><li class="devsite-nav-item"><a href="/web/20231023210419/https://developer.android.com/guide/topics/data/autobackup" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /guide/topics/data/autobackup" track-type="bookNav" track-name="click" track-metadata-eventdetail="/guide/topics/data/autobackup"><span class="devsite-nav-text" tooltip>Back up user data</span></a></li><li class="devsite-nav-item"><a href="/web/20231023210419/https://developer.android.com/guide/topics/data/keyvaluebackup" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /guide/topics/data/keyvaluebackup" track-type="bookNav" track-name="click" track-metadata-eventdetail="/guide/topics/data/keyvaluebackup"><span class="devsite-nav-text" tooltip>Back up key-value pairs</span></a></li><li class="devsite-nav-item"><a href="/web/20231023210419/https://developer.android.com/guide/topics/data/testingbackup" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /guide/topics/data/testingbackup" track-type="bookNav" track-name="click" track-metadata-eventdetail="/guide/topics/data/testingbackup"><span class="devsite-nav-text" tooltip>Test backup and restore</span></a></li></ul></div></li><li class="devsite-nav-item"><a href="/web/20231023210419/https://developer.android.com/training/articles/user-data-ids" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /training/articles/user-data-ids" track-type="bookNav" track-name="click" track-metadata-eventdetail="/training/articles/user-data-ids"><span class="devsite-nav-text" tooltip>Best practices for unique identifiers</span></a></li><li class="devsite-nav-item devsite-nav-expandable"><div class="devsite-expandable-nav"> <a class="devsite-nav-toggle" aria-hidden="true"></a><div class="devsite-nav-title devsite-nav-title-no-path" tabindex="0" role="button"> <span class="devsite-nav-text" tooltip>Remember and authenticate users</span> </div><ul class="devsite-nav-section"><li class="devsite-nav-item"><a href="/web/20231023210419/https://developer.android.com/training/id-auth" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /training/id-auth" track-type="bookNav" track-name="click" track-metadata-eventdetail="/training/id-auth"><span class="devsite-nav-text" tooltip>About authentication</span></a></li><li class="devsite-nav-item"><a href="/web/20231023210419/https://developer.android.com/training/id-auth/identify" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /training/id-auth/identify" track-type="bookNav" track-name="click" track-metadata-eventdetail="/training/id-auth/identify"><span class="devsite-nav-text" tooltip>Remember your user</span></a></li><li class="devsite-nav-item"><a href="/web/20231023210419/https://developer.android.com/training/id-auth/authenticate" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /training/id-auth/authenticate" track-type="bookNav" track-name="click" track-metadata-eventdetail="/training/id-auth/authenticate"><span class="devsite-nav-text" tooltip>Authenticate to OAuth2 services</span></a></li><li class="devsite-nav-item"><a href="/web/20231023210419/https://developer.android.com/training/id-auth/custom_auth" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /training/id-auth/custom_auth" track-type="bookNav" track-name="click" track-metadata-eventdetail="/training/id-auth/custom_auth"><span class="devsite-nav-text" tooltip>Create a custom account type</span></a></li></ul></div></li></ul></div></li><li class="devsite-nav-item devsite-nav-expandable"><div class="devsite-expandable-nav"> <a class="devsite-nav-toggle" aria-hidden="true"></a><div class="devsite-nav-title devsite-nav-title-no-path" tabindex="0" role="button"> <span class="devsite-nav-text" tooltip>User location</span> </div><ul class="devsite-nav-section"><li class="devsite-nav-item"><a href="/web/20231023210419/https://developer.android.com/training/location" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /training/location" track-type="bookNav" track-name="click" track-metadata-eventdetail="/training/location"><span class="devsite-nav-text" tooltip>About user location</span></a></li><li class="devsite-nav-item"><a href="/web/20231023210419/https://developer.android.com/training/location/permissions" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /training/location/permissions" track-type="bookNav" track-name="click" track-metadata-eventdetail="/training/location/permissions"><span class="devsite-nav-text" tooltip>Request location permissions</span></a></li><li class="devsite-nav-item"><a href="/web/20231023210419/https://developer.android.com/training/location/retrieve-current" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /training/location/retrieve-current" track-type="bookNav" track-name="click" track-metadata-eventdetail="/training/location/retrieve-current"><span class="devsite-nav-text" tooltip>Get the last known location</span></a></li><li class="devsite-nav-item"><a href="/web/20231023210419/https://developer.android.com/training/location/change-location-settings" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /training/location/change-location-settings" track-type="bookNav" track-name="click" track-metadata-eventdetail="/training/location/change-location-settings"><span class="devsite-nav-text" tooltip>Change location settings</span></a></li><li class="devsite-nav-item"><a href="/web/20231023210419/https://developer.android.com/training/location/request-updates" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /training/location/request-updates" track-type="bookNav" track-name="click" track-metadata-eventdetail="/training/location/request-updates"><span class="devsite-nav-text" tooltip>Request location updates</span></a></li><li class="devsite-nav-item"><a href="/web/20231023210419/https://developer.android.com/training/location/background" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /training/location/background" track-type="bookNav" track-name="click" track-metadata-eventdetail="/training/location/background"><span class="devsite-nav-text" tooltip>Access location in the background</span></a></li><li class="devsite-nav-item"><a href="/web/20231023210419/https://developer.android.com/training/location/geofencing" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /training/location/geofencing" track-type="bookNav" track-name="click" track-metadata-eventdetail="/training/location/geofencing"><span class="devsite-nav-text" tooltip>Create and monitor geofences</span></a></li><li class="devsite-nav-item"><a href="/web/20231023210419/https://developer.android.com/guide/topics/location/transitions" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /guide/topics/location/transitions" track-type="bookNav" track-name="click" track-metadata-eventdetail="/guide/topics/location/transitions"><span class="devsite-nav-text" tooltip>Detect when users start an activity</span></a></li><li class="devsite-nav-item"><a href="/web/20231023210419/https://developer.android.com/guide/topics/location/battery" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /guide/topics/location/battery" track-type="bookNav" track-name="click" track-metadata-eventdetail="/guide/topics/location/battery"><span class="devsite-nav-text" tooltip>Optimize location for battery</span></a></li><li class="devsite-nav-item"><a href="/web/20231023210419/https://developer.android.com/training/location/testing" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /training/location/testing" track-type="bookNav" track-name="click" track-metadata-eventdetail="/training/location/testing"><span class="devsite-nav-text" tooltip>Test location workflows</span></a></li><li class="devsite-nav-item"><a href="/web/20231023210419/https://developer.android.com/guide/topics/location/migration" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /guide/topics/location/migration" track-type="bookNav" track-name="click" track-metadata-eventdetail="/guide/topics/location/migration"><span class="devsite-nav-text" tooltip>Migrate to Google Play services location and context APIs</span></a></li><li class="devsite-nav-item"><a href="/web/20231023210419/https://developer.android.com/training/maps/maps-and-places" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /training/maps/maps-and-places" track-type="bookNav" track-name="click" track-metadata-eventdetail="/training/maps/maps-and-places"><span class="devsite-nav-text" tooltip>Maps and places</span></a></li></ul></div></li><li class="devsite-nav-item devsite-nav-expandable"><div class="devsite-expandable-nav"> <a class="devsite-nav-toggle" aria-hidden="true"></a><div class="devsite-nav-title devsite-nav-title-no-path" tabindex="0" role="button"> <span class="devsite-nav-text" tooltip>Camera</span> </div><ul class="devsite-nav-section"><li class="devsite-nav-item"><a href="/web/20231023210419/https://developer.android.com/training/camera/choose-camera-library" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /training/camera/choose-camera-library" track-type="bookNav" track-name="click" track-metadata-eventdetail="/training/camera/choose-camera-library"><span class="devsite-nav-text" tooltip>Choose a camera library</span></a></li><li class="devsite-nav-item"><a href="/web/20231023210419/https://developer.android.com/training/camera/camera-intents" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /training/camera/camera-intents" track-type="bookNav" track-name="click" track-metadata-eventdetail="/training/camera/camera-intents"><span class="devsite-nav-text" tooltip>Camera intents</span></a></li><li class="devsite-nav-item devsite-nav-expandable"><div class="devsite-expandable-nav"> <a class="devsite-nav-toggle" aria-hidden="true"></a><div class="devsite-nav-title devsite-nav-title-no-path" tabindex="0" role="button"> <span class="devsite-nav-text" tooltip>Camera extensions</span> </div><ul class="devsite-nav-section"><li class="devsite-nav-item"><a href="/web/20231023210419/https://developer.android.com/training/camera/camera-extensions" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /training/camera/camera-extensions" track-type="bookNav" track-name="click" track-metadata-eventdetail="/training/camera/camera-extensions"><span class="devsite-nav-text" tooltip>About camera extensions</span></a></li><li class="devsite-nav-item"><a href="/web/20231023210419/https://developer.android.com/training/camera/supported-devices" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /training/camera/supported-devices" track-type="bookNav" track-name="click" track-metadata-eventdetail="/training/camera/supported-devices"><span class="devsite-nav-text" tooltip>Supported devices</span></a></li></ul></div></li><li class="devsite-nav-item devsite-nav-expandable"><div class="devsite-expandable-nav"> <a class="devsite-nav-toggle" aria-hidden="true"></a><div class="devsite-nav-title devsite-nav-title-no-path" tabindex="0" role="button"> <span class="devsite-nav-text" tooltip>CameraX</span> </div><ul class="devsite-nav-section"><li class="devsite-nav-item"><a href="/web/20231023210419/https://developer.android.com/training/camerax" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /training/camerax" track-type="bookNav" track-name="click" track-metadata-eventdetail="/training/camerax"><span class="devsite-nav-text" tooltip>About CameraX</span></a></li><li class="devsite-nav-item"><a href="/web/20231023210419/https://developer.android.com/training/camerax/architecture" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /training/camerax/architecture" track-type="bookNav" track-name="click" track-metadata-eventdetail="/training/camerax/architecture"><span class="devsite-nav-text" tooltip>Architecture</span></a></li><li class="devsite-nav-item"><a href="/web/20231023210419/https://developer.android.com/training/camerax/configuration" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /training/camerax/configuration" track-type="bookNav" track-name="click" track-metadata-eventdetail="/training/camerax/configuration"><span class="devsite-nav-text" tooltip>Configuration</span></a></li><li class="devsite-nav-item devsite-nav-expandable"><div class="devsite-expandable-nav"> <a class="devsite-nav-toggle" aria-hidden="true"></a><div class="devsite-nav-title devsite-nav-title-no-path" tabindex="0" role="button"> <span class="devsite-nav-text" tooltip>Use cases</span> </div><ul class="devsite-nav-section"><li class="devsite-nav-item"><a href="/web/20231023210419/https://developer.android.com/training/camerax/preview" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /training/camerax/preview" track-type="bookNav" track-name="click" track-metadata-eventdetail="/training/camerax/preview"><span class="devsite-nav-text" tooltip>Preview</span></a></li><li class="devsite-nav-item"><a href="/web/20231023210419/https://developer.android.com/training/camerax/take-photo" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /training/camerax/take-photo" track-type="bookNav" track-name="click" track-metadata-eventdetail="/training/camerax/take-photo"><span class="devsite-nav-text" tooltip>Image capture</span></a></li><li class="devsite-nav-item"><a href="/web/20231023210419/https://developer.android.com/training/camerax/analyze" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /training/camerax/analyze" track-type="bookNav" track-name="click" track-metadata-eventdetail="/training/camerax/analyze"><span class="devsite-nav-text" tooltip>Image analysis</span></a></li><li class="devsite-nav-item"><a href="/web/20231023210419/https://developer.android.com/training/camerax/video-capture" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /training/camerax/video-capture" track-type="bookNav" track-name="click" track-metadata-eventdetail="/training/camerax/video-capture"><span class="devsite-nav-text" tooltip>Video capture</span></a></li></ul></div></li><li class="devsite-nav-item devsite-nav-expandable"><div class="devsite-expandable-nav"> <a class="devsite-nav-toggle" aria-hidden="true"></a><div class="devsite-nav-title devsite-nav-title-no-path" tabindex="0" role="button"> <span class="devsite-nav-text" tooltip>Advanced topics</span> </div><ul class="devsite-nav-section"><li class="devsite-nav-item"><a href="/web/20231023210419/https://developer.android.com/training/camerax/extensions-api" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /training/camerax/extensions-api" track-type="bookNav" track-name="click" track-metadata-eventdetail="/training/camerax/extensions-api"><span class="devsite-nav-text" tooltip>Extensions API</span></a></li><li class="devsite-nav-item"><a href="/web/20231023210419/https://developer.android.com/training/camerax/mlkitanalyzer" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /training/camerax/mlkitanalyzer" track-type="bookNav" track-name="click" track-metadata-eventdetail="/training/camerax/mlkitanalyzer"><span class="devsite-nav-text" tooltip>ML Kit Analyzer</span></a></li><li class="devsite-nav-item"><a href="/web/20231023210419/https://developer.android.com/training/camerax/orientation-rotation" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /training/camerax/orientation-rotation" track-type="bookNav" track-name="click" track-metadata-eventdetail="/training/camerax/orientation-rotation"><span class="devsite-nav-text" tooltip>Rotations</span></a></li><li class="devsite-nav-item"><a href="/web/20231023210419/https://developer.android.com/training/camerax/transform-output" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /training/camerax/transform-output" track-type="bookNav" track-name="click" track-metadata-eventdetail="/training/camerax/transform-output"><span class="devsite-nav-text" tooltip>Transform output</span></a></li></ul></div></li><li class="devsite-nav-item"><a href="/web/20231023210419/https://developer.android.com/training/camerax/devices" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /training/camerax/devices" track-type="bookNav" track-name="click" track-metadata-eventdetail="/training/camerax/devices"><span class="devsite-nav-text" tooltip>Devices</span></a></li><li class="devsite-nav-item"><a href="/web/20231023210419/https://developer.android.com/training/camerax/camera1-to-camerax" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /training/camerax/camera1-to-camerax" track-type="bookNav" track-name="click" track-metadata-eventdetail="/training/camerax/camera1-to-camerax"><span class="devsite-nav-text" tooltip>Camera1 to CameraX migration guide</span></a></li></ul></div></li><li class="devsite-nav-item devsite-nav-expandable"><div class="devsite-expandable-nav"> <a class="devsite-nav-toggle" aria-hidden="true"></a><div class="devsite-nav-title devsite-nav-title-no-path" tabindex="0" role="button"> <span class="devsite-nav-text" tooltip>Camera2</span> </div><ul class="devsite-nav-section"><li class="devsite-nav-item"><a href="/web/20231023210419/https://developer.android.com/training/camera2" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /training/camera2" track-type="bookNav" track-name="click" track-metadata-eventdetail="/training/camera2"><span class="devsite-nav-text" tooltip>About Camera2</span></a></li><li class="devsite-nav-item"><a href="/web/20231023210419/https://developer.android.com/training/camera2/capture-sessions-requests" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /training/camera2/capture-sessions-requests" track-type="bookNav" track-name="click" track-metadata-eventdetail="/training/camera2/capture-sessions-requests"><span class="devsite-nav-text" tooltip>Camera capture sessions and requests</span></a></li><li class="devsite-nav-item"><a href="/web/20231023210419/https://developer.android.com/training/camera2/camera-enumeration" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /training/camera2/camera-enumeration" track-type="bookNav" track-name="click" track-metadata-eventdetail="/training/camera2/camera-enumeration"><span class="devsite-nav-text" tooltip>Camera lenses and capabilities</span></a></li><li class="devsite-nav-item"><a href="/web/20231023210419/https://developer.android.com/training/camera2/multiple-camera-streams-simultaneously" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /training/camera2/multiple-camera-streams-simultaneously" track-type="bookNav" track-name="click" track-metadata-eventdetail="/training/camera2/multiple-camera-streams-simultaneously"><span class="devsite-nav-text" tooltip>Use multiple camera streams simultaneously</span></a></li><li class="devsite-nav-item"><a href="/web/20231023210419/https://developer.android.com/training/camera2/screen-flash-implementation-guidelines" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /training/camera2/screen-flash-implementation-guidelines" track-type="bookNav" track-name="click" track-metadata-eventdetail="/training/camera2/screen-flash-implementation-guidelines"><span class="devsite-nav-text" tooltip>Screen flash implementation guidelines</span></a></li><li class="devsite-nav-item"><a href="/web/20231023210419/https://developer.android.com/training/camera2/camera-preview" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /training/camera2/camera-preview" track-type="bookNav" track-name="click" track-metadata-eventdetail="/training/camera2/camera-preview"><span class="devsite-nav-text" tooltip>Camera preview</span></a></li><li class="devsite-nav-item"><a href="/web/20231023210419/https://developer.android.com/training/camera2/hdr-video-capture" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /training/camera2/hdr-video-capture" track-type="bookNav" track-name="click" track-metadata-eventdetail="/training/camera2/hdr-video-capture"><span class="devsite-nav-text" tooltip>HDR video capture</span></a></li><li class="devsite-nav-item"><a href="/web/20231023210419/https://developer.android.com/training/camera2/multi-camera" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /training/camera2/multi-camera" track-type="bookNav" track-name="click" track-metadata-eventdetail="/training/camera2/multi-camera"><span class="devsite-nav-text" tooltip>Multi-Camera API</span></a></li><li class="devsite-nav-item"><a href="/web/20231023210419/https://developer.android.com/training/camera2/extensions-api" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /training/camera2/extensions-api" track-type="bookNav" track-name="click" track-metadata-eventdetail="/training/camera2/extensions-api"><span class="devsite-nav-text" tooltip>Extensions API</span></a></li></ul></div></li><li class="devsite-nav-item devsite-nav-expandable"><div class="devsite-expandable-nav"> <a class="devsite-nav-toggle" aria-hidden="true"></a><div class="devsite-nav-title devsite-nav-title-no-path" tabindex="0" role="button"> <span class="devsite-nav-text" tooltip>Camera (deprecated)</span> </div><ul class="devsite-nav-section"><li class="devsite-nav-item"><a href="/web/20231023210419/https://developer.android.com/training/camera-deprecated" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /training/camera-deprecated" track-type="bookNav" track-name="click" track-metadata-eventdetail="/training/camera-deprecated"><span class="devsite-nav-text" tooltip>About Camera (deprecated)</span></a></li><li class="devsite-nav-item"><a href="/web/20231023210419/https://developer.android.com/training/camera-deprecated/photobasics" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /training/camera-deprecated/photobasics" track-type="bookNav" track-name="click" track-metadata-eventdetail="/training/camera-deprecated/photobasics"><span class="devsite-nav-text" tooltip>Take photos (deprecated)</span></a></li><li class="devsite-nav-item"><a href="/web/20231023210419/https://developer.android.com/training/camera-deprecated/videobasics" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /training/camera-deprecated/videobasics" track-type="bookNav" track-name="click" track-metadata-eventdetail="/training/camera-deprecated/videobasics"><span class="devsite-nav-text" tooltip>Record videos (deprecated)</span></a></li><li class="devsite-nav-item"><a href="/web/20231023210419/https://developer.android.com/training/camera-deprecated/cameradirect" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /training/camera-deprecated/cameradirect" track-type="bookNav" track-name="click" track-metadata-eventdetail="/training/camera-deprecated/cameradirect"><span class="devsite-nav-text" tooltip>Control the camera (deprecated)</span></a></li><li class="devsite-nav-item"><a href="/web/20231023210419/https://developer.android.com/guide/topics/media/camera" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /guide/topics/media/camera" track-type="bookNav" track-name="click" track-metadata-eventdetail="/guide/topics/media/camera"><span class="devsite-nav-text" tooltip>Camera API (deprecated)</span></a></li></ul></div></li></ul></div></li><li class="devsite-nav-item devsite-nav-expandable"><div class="devsite-expandable-nav"> <a class="devsite-nav-toggle" aria-hidden="true"></a><div class="devsite-nav-title devsite-nav-title-no-path" tabindex="0" role="button"> <span class="devsite-nav-text" tooltip>Sensors</span> </div><ul class="devsite-nav-section"><li class="devsite-nav-item"><a href="/web/20231023210419/https://developer.android.com/guide/topics/sensors" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /guide/topics/sensors" track-type="bookNav" track-name="click" track-metadata-eventdetail="/guide/topics/sensors"><span class="devsite-nav-text" tooltip>In this guide</span></a></li><li class="devsite-nav-item"><a href="/web/20231023210419/https://developer.android.com/guide/topics/sensors/sensors_overview" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /guide/topics/sensors/sensors_overview" track-type="bookNav" track-name="click" track-metadata-eventdetail="/guide/topics/sensors/sensors_overview"><span class="devsite-nav-text" tooltip>About sensors</span></a></li><li class="devsite-nav-item"><a href="/web/20231023210419/https://developer.android.com/guide/topics/sensors/sensors_motion" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /guide/topics/sensors/sensors_motion" track-type="bookNav" track-name="click" track-metadata-eventdetail="/guide/topics/sensors/sensors_motion"><span class="devsite-nav-text" tooltip>Motion sensors</span></a></li><li class="devsite-nav-item"><a href="/web/20231023210419/https://developer.android.com/guide/topics/sensors/sensors_position" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /guide/topics/sensors/sensors_position" track-type="bookNav" track-name="click" track-metadata-eventdetail="/guide/topics/sensors/sensors_position"><span class="devsite-nav-text" tooltip>Position sensors</span></a></li><li class="devsite-nav-item"><a href="/web/20231023210419/https://developer.android.com/guide/topics/sensors/sensors_environment" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /guide/topics/sensors/sensors_environment" track-type="bookNav" track-name="click" track-metadata-eventdetail="/guide/topics/sensors/sensors_environment"><span class="devsite-nav-text" tooltip>Environment sensors</span></a></li><li class="devsite-nav-item"><a href="/web/20231023210419/https://developer.android.com/guide/topics/sensors/gnss" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /guide/topics/sensors/gnss" track-type="bookNav" track-name="click" track-metadata-eventdetail="/guide/topics/sensors/gnss"><span class="devsite-nav-text" tooltip>Raw GNSS measurements</span></a></li></ul></div></li><li class="devsite-nav-item"><a href="/web/20231023210419/https://developer.android.com/develop/connectivity" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /develop/connectivity" track-type="bookNav" track-name="click" track-metadata-eventdetail="/develop/connectivity"><span class="devsite-nav-text" tooltip>Connectivity</span></a></li><li class="devsite-nav-item devsite-nav-expandable"><div class="devsite-expandable-nav"> <a class="devsite-nav-toggle" aria-hidden="true"></a><div class="devsite-nav-title devsite-nav-title-no-path" tabindex="0" role="button"> <span class="devsite-nav-text" tooltip>Renderscript</span> </div><ul class="devsite-nav-section"><li class="devsite-nav-item"><a href="/web/20231023210419/https://developer.android.com/guide/topics/renderscript/compute" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /guide/topics/renderscript/compute" track-type="bookNav" track-name="click" track-metadata-eventdetail="/guide/topics/renderscript/compute"><span class="devsite-nav-text" tooltip>About Renderscript</span></a></li><li class="devsite-nav-item"><a href="/web/20231023210419/https://developer.android.com/guide/topics/renderscript/advanced" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /guide/topics/renderscript/advanced" track-type="bookNav" track-name="click" track-metadata-eventdetail="/guide/topics/renderscript/advanced"><span class="devsite-nav-text" tooltip>Advanced RenderScript</span></a></li><li class="devsite-nav-item devsite-nav-expandable"><div class="devsite-expandable-nav"> <a class="devsite-nav-toggle" aria-hidden="true"></a><div class="devsite-nav-title devsite-nav-title-no-path" tabindex="0" role="button"> <span class="devsite-nav-text" tooltip>Migrate from RenderScript</span> </div><ul class="devsite-nav-section"><li class="devsite-nav-item"><a href="/web/20231023210419/https://developer.android.com/guide/topics/renderscript/migrate" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /guide/topics/renderscript/migrate" track-type="bookNav" track-name="click" track-metadata-eventdetail="/guide/topics/renderscript/migrate"><span class="devsite-nav-text" tooltip>Overview</span></a></li><li class="devsite-nav-item"><a href="/web/20231023210419/https://developer.android.com/guide/topics/renderscript/migrate/migrate-gles" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /guide/topics/renderscript/migrate/migrate-gles" track-type="bookNav" track-name="click" track-metadata-eventdetail="/guide/topics/renderscript/migrate/migrate-gles"><span class="devsite-nav-text" tooltip>Migrate scripts to OpenGL ES 3.1</span></a></li><li class="devsite-nav-item"><a href="/web/20231023210419/https://developer.android.com/guide/topics/renderscript/migrate/migrate-vulkan" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /guide/topics/renderscript/migrate/migrate-vulkan" track-type="bookNav" track-name="click" track-metadata-eventdetail="/guide/topics/renderscript/migrate/migrate-vulkan"><span class="devsite-nav-text" tooltip>Migrate scripts to Vulkan</span></a></li></ul></div></li><li class="devsite-nav-item devsite-nav-expandable"><div class="devsite-expandable-nav"> <a class="devsite-nav-toggle" aria-hidden="true"></a><div class="devsite-nav-title devsite-nav-title-no-path" tabindex="0" role="button"> <span class="devsite-nav-text" tooltip>Runtime API reference</span> </div><ul class="devsite-nav-section"><li class="devsite-nav-item"><a href="/web/20231023210419/https://developer.android.com/guide/topics/renderscript/reference/overview" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /guide/topics/renderscript/reference/overview" track-type="bookNav" track-name="click" track-metadata-eventdetail="/guide/topics/renderscript/reference/overview"><span class="devsite-nav-text" tooltip>About Runtime API</span></a></li><li class="devsite-nav-item"><a href="/web/20231023210419/https://developer.android.com/guide/topics/renderscript/reference/rs_value_types" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /guide/topics/renderscript/reference/rs_value_types" track-type="bookNav" track-name="click" track-metadata-eventdetail="/guide/topics/renderscript/reference/rs_value_types"><span class="devsite-nav-text" tooltip>Numerical types</span></a></li><li class="devsite-nav-item"><a href="/web/20231023210419/https://developer.android.com/guide/topics/renderscript/reference/rs_object_types" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /guide/topics/renderscript/reference/rs_object_types" track-type="bookNav" track-name="click" track-metadata-eventdetail="/guide/topics/renderscript/reference/rs_object_types"><span class="devsite-nav-text" tooltip>Object types</span></a></li><li class="devsite-nav-item"><a href="/web/20231023210419/https://developer.android.com/guide/topics/renderscript/reference/rs_convert" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /guide/topics/renderscript/reference/rs_convert" track-type="bookNav" track-name="click" track-metadata-eventdetail="/guide/topics/renderscript/reference/rs_convert"><span class="devsite-nav-text" tooltip>Conversion functions</span></a></li><li class="devsite-nav-item"><a href="/web/20231023210419/https://developer.android.com/guide/topics/renderscript/reference/rs_math" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /guide/topics/renderscript/reference/rs_math" track-type="bookNav" track-name="click" track-metadata-eventdetail="/guide/topics/renderscript/reference/rs_math"><span class="devsite-nav-text" tooltip>Mathematical constants and functions</span></a></li><li class="devsite-nav-item"><a href="/web/20231023210419/https://developer.android.com/guide/topics/renderscript/reference/rs_vector_math" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /guide/topics/renderscript/reference/rs_vector_math" track-type="bookNav" track-name="click" track-metadata-eventdetail="/guide/topics/renderscript/reference/rs_vector_math"><span class="devsite-nav-text" tooltip>Vector math functions</span></a></li><li class="devsite-nav-item"><a href="/web/20231023210419/https://developer.android.com/guide/topics/renderscript/reference/rs_matrix" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /guide/topics/renderscript/reference/rs_matrix" track-type="bookNav" track-name="click" track-metadata-eventdetail="/guide/topics/renderscript/reference/rs_matrix"><span class="devsite-nav-text" tooltip>Matrix functions</span></a></li><li class="devsite-nav-item"><a href="/web/20231023210419/https://developer.android.com/guide/topics/renderscript/reference/rs_quaternion" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /guide/topics/renderscript/reference/rs_quaternion" track-type="bookNav" track-name="click" track-metadata-eventdetail="/guide/topics/renderscript/reference/rs_quaternion"><span class="devsite-nav-text" tooltip>Quaternion functions</span></a></li><li class="devsite-nav-item"><a href="/web/20231023210419/https://developer.android.com/guide/topics/renderscript/reference/rs_atomic" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /guide/topics/renderscript/reference/rs_atomic" track-type="bookNav" track-name="click" track-metadata-eventdetail="/guide/topics/renderscript/reference/rs_atomic"><span class="devsite-nav-text" tooltip>Atomic update functions</span></a></li><li class="devsite-nav-item"><a href="/web/20231023210419/https://developer.android.com/guide/topics/renderscript/reference/rs_time" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /guide/topics/renderscript/reference/rs_time" track-type="bookNav" track-name="click" track-metadata-eventdetail="/guide/topics/renderscript/reference/rs_time"><span class="devsite-nav-text" tooltip>Time functions and types</span></a></li><li class="devsite-nav-item"><a href="/web/20231023210419/https://developer.android.com/guide/topics/renderscript/reference/rs_allocation_data" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /guide/topics/renderscript/reference/rs_allocation_data" track-type="bookNav" track-name="click" track-metadata-eventdetail="/guide/topics/renderscript/reference/rs_allocation_data"><span class="devsite-nav-text" tooltip>Allocation data access functions</span></a></li><li class="devsite-nav-item"><a href="/web/20231023210419/https://developer.android.com/guide/topics/renderscript/reference/rs_object_info" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /guide/topics/renderscript/reference/rs_object_info" track-type="bookNav" track-name="click" track-metadata-eventdetail="/guide/topics/renderscript/reference/rs_object_info"><span class="devsite-nav-text" tooltip>Object characteristics functions</span></a></li><li class="devsite-nav-item"><a href="/web/20231023210419/https://developer.android.com/guide/topics/renderscript/reference/rs_for_each" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /guide/topics/renderscript/reference/rs_for_each" track-type="bookNav" track-name="click" track-metadata-eventdetail="/guide/topics/renderscript/reference/rs_for_each"><span class="devsite-nav-text" tooltip>Kernel invocation functions and types</span></a></li><li class="devsite-nav-item"><a href="/web/20231023210419/https://developer.android.com/guide/topics/renderscript/reference/rs_io" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /guide/topics/renderscript/reference/rs_io" track-type="bookNav" track-name="click" track-metadata-eventdetail="/guide/topics/renderscript/reference/rs_io"><span class="devsite-nav-text" tooltip>Input/output functions</span></a></li><li class="devsite-nav-item"><a href="/web/20231023210419/https://developer.android.com/guide/topics/renderscript/reference/rs_debug" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /guide/topics/renderscript/reference/rs_debug" track-type="bookNav" track-name="click" track-metadata-eventdetail="/guide/topics/renderscript/reference/rs_debug"><span class="devsite-nav-text" tooltip>Debugging functions</span></a></li><li class="devsite-nav-item"><a href="/web/20231023210419/https://developer.android.com/guide/topics/renderscript/reference/rs_graphics" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /guide/topics/renderscript/reference/rs_graphics" track-type="bookNav" track-name="click" track-metadata-eventdetail="/guide/topics/renderscript/reference/rs_graphics"><span class="devsite-nav-text" tooltip>Graphics functions and types</span></a></li><li class="devsite-nav-item"><a href="/web/20231023210419/https://developer.android.com/guide/topics/renderscript/reference" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /guide/topics/renderscript/reference" track-type="bookNav" track-name="click" track-metadata-eventdetail="/guide/topics/renderscript/reference"><span class="devsite-nav-text" tooltip>Index</span></a></li></ul></div></li></ul></div></li><li class="devsite-nav-item devsite-nav-expandable"><div class="devsite-expandable-nav"> <a class="devsite-nav-toggle" aria-hidden="true"></a><div class="devsite-nav-title devsite-nav-title-no-path" tabindex="0" role="button"> <span class="devsite-nav-text" tooltip>Android app bundles</span> </div><ul class="devsite-nav-section"><li class="devsite-nav-item"><a href="/web/20231023210419/https://developer.android.com/guide/app-bundle" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /guide/app-bundle" track-type="bookNav" track-name="click" track-metadata-eventdetail="/guide/app-bundle"><span class="devsite-nav-text" tooltip>About app bundles</span></a></li><li class="devsite-nav-item"><a href="/web/20231023210419/https://developer.android.com/guide/app-bundle/configure-base" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /guide/app-bundle/configure-base" track-type="bookNav" track-name="click" track-metadata-eventdetail="/guide/app-bundle/configure-base"><span class="devsite-nav-text" tooltip>Configure the base module</span></a></li><li class="devsite-nav-item"><a href="/web/20231023210419/https://developer.android.com/guide/app-bundle/test" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /guide/app-bundle/test" track-type="bookNav" track-name="click" track-metadata-eventdetail="/guide/app-bundle/test"><span class="devsite-nav-text" tooltip>Build and test your app bundle</span></a></li><li class="devsite-nav-item"><a href="/web/20231023210419/https://developer.android.com/guide/app-bundle/code-transparency" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /guide/app-bundle/code-transparency" track-type="bookNav" track-name="click" track-metadata-eventdetail="/guide/app-bundle/code-transparency"><span class="devsite-nav-text" tooltip>Add code transparency</span></a></li><li class="devsite-nav-item"><a href="/web/20231023210419/https://developer.android.com/guide/app-bundle/app-bundle-format" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /guide/app-bundle/app-bundle-format" track-type="bookNav" track-name="click" track-metadata-eventdetail="/guide/app-bundle/app-bundle-format"><span class="devsite-nav-text" tooltip>About the app bundle format</span></a></li><li class="devsite-nav-item"><a href="/web/20231023210419/https://developer.android.com/guide/app-bundle/faq" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /guide/app-bundle/faq" track-type="bookNav" track-name="click" track-metadata-eventdetail="/guide/app-bundle/faq"><span class="devsite-nav-text" tooltip>Frequently asked questions</span></a></li></ul></div></li><li class="devsite-nav-item devsite-nav-expandable"><div class="devsite-expandable-nav"> <a class="devsite-nav-toggle" aria-hidden="true"></a><div class="devsite-nav-title devsite-nav-title-no-path" tabindex="0" role="button"> <span class="devsite-nav-text" tooltip>Google Play</span> </div><ul class="devsite-nav-section"><li class="devsite-nav-item"><a href="/web/20231023210419/https://developer.android.com/google/play/billing" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /google/play/billing" track-type="bookNav" track-name="click" track-metadata-eventdetail="/google/play/billing"><span class="devsite-nav-text" tooltip>Google Play Billing</span></a></li><li class="devsite-nav-item"><a href="/web/20231023210419/https://developer.android.com/guide/playcore" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /guide/playcore" track-type="bookNav" track-name="click" track-metadata-eventdetail="/guide/playcore"><span class="devsite-nav-text" tooltip>Google Play Core libraries</span></a></li><li class="devsite-nav-item devsite-nav-expandable"><div class="devsite-expandable-nav"> <a class="devsite-nav-toggle" aria-hidden="true"></a><div class="devsite-nav-title devsite-nav-title-no-path" tabindex="0" role="button"> <span class="devsite-nav-text" tooltip>Engage SDK</span> </div><ul class="devsite-nav-section"><li class="devsite-nav-item"><a href="/web/20231023210419/https://developer.android.com/guide/playcore/engage" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /guide/playcore/engage" track-type="bookNav" track-name="click" track-metadata-eventdetail="/guide/playcore/engage"><span class="devsite-nav-text" tooltip>About Engage SDK</span></a></li><li class="devsite-nav-item"><a href="/web/20231023210419/https://developer.android.com/guide/playcore/engage/watch" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /guide/playcore/engage/watch" track-type="bookNav" track-name="click" track-metadata-eventdetail="/guide/playcore/engage/watch"><span class="devsite-nav-text" tooltip>Engage SDK Watch integration guide</span></a></li><li class="devsite-nav-item"><a href="/web/20231023210419/https://developer.android.com/guide/playcore/engage/listen" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /guide/playcore/engage/listen" track-type="bookNav" track-name="click" track-metadata-eventdetail="/guide/playcore/engage/listen"><span class="devsite-nav-text" tooltip>Engage SDK Listen integration guide</span></a></li><li class="devsite-nav-item"><a href="/web/20231023210419/https://developer.android.com/guide/playcore/engage/read" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /guide/playcore/engage/read" track-type="bookNav" track-name="click" track-metadata-eventdetail="/guide/playcore/engage/read"><span class="devsite-nav-text" tooltip>Engage SDK Read integration guide</span></a></li><li class="devsite-nav-item"><a href="/web/20231023210419/https://developer.android.com/guide/playcore/engage/shopping" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /guide/playcore/engage/shopping" track-type="bookNav" track-name="click" track-metadata-eventdetail="/guide/playcore/engage/shopping"><span class="devsite-nav-text" tooltip>Engage SDK Shopping integration guide</span></a></li><li class="devsite-nav-item"><a href="/web/20231023210419/https://developer.android.com/guide/playcore/engage/food" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /guide/playcore/engage/food" track-type="bookNav" track-name="click" track-metadata-eventdetail="/guide/playcore/engage/food"><span class="devsite-nav-text" tooltip>Engage SDK Food integration guide</span></a></li><li class="devsite-nav-item"><a href="/web/20231023210419/https://developer.android.com/guide/playcore/engage/social" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /guide/playcore/engage/social" track-type="bookNav" track-name="click" track-metadata-eventdetail="/guide/playcore/engage/social"><span class="devsite-nav-text" tooltip>Engage SDK Social integration guide</span></a></li><li class="devsite-nav-item"><a href="/web/20231023210419/https://developer.android.com/guide/playcore/engage/workflow" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /guide/playcore/engage/workflow" track-type="bookNav" track-name="click" track-metadata-eventdetail="/guide/playcore/engage/workflow"><span class="devsite-nav-text" tooltip>Engage SDK integration workflow</span></a></li><li class="devsite-nav-item"><a href="/web/20231023210419/https://developer.android.com/guide/playcore/engage/publish" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /guide/playcore/engage/publish" track-type="bookNav" track-name="click" track-metadata-eventdetail="/guide/playcore/engage/publish"><span class="devsite-nav-text" tooltip>Engage SDK Cluster publishing guidelines</span></a></li><li class="devsite-nav-item"><a href="/web/20231023210419/https://developer.android.com/guide/playcore/engage/faq" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /guide/playcore/engage/faq" track-type="bookNav" track-name="click" track-metadata-eventdetail="/guide/playcore/engage/faq"><span class="devsite-nav-text" tooltip>Engage SDK Frequently asked questions</span></a></li><li class="devsite-nav-item"><a href="/web/20231023210419/https://developer.android.com/guide/playcore/engage/release" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /guide/playcore/engage/release" track-type="bookNav" track-name="click" track-metadata-eventdetail="/guide/playcore/engage/release"><span class="devsite-nav-text" tooltip>Engage SDK Release Notes</span></a></li></ul></div></li><li class="devsite-nav-item devsite-nav-expandable"><div class="devsite-expandable-nav"> <a class="devsite-nav-toggle" aria-hidden="true"></a><div class="devsite-nav-title devsite-nav-title-no-path" tabindex="0" role="button"> <span class="devsite-nav-text" tooltip>Play Points</span> </div><ul class="devsite-nav-section"><li class="devsite-nav-item"><a href="/web/20231023210419/https://developer.android.com/guide/playpoints" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /guide/playpoints" track-type="bookNav" track-name="click" track-metadata-eventdetail="/guide/playpoints"><span class="devsite-nav-text" tooltip>About Play Points</span></a></li><li class="devsite-nav-item"><a href="/web/20231023210419/https://developer.android.com/guide/playpoints/create-products" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /guide/playpoints/create-products" track-type="bookNav" track-name="click" track-metadata-eventdetail="/guide/playpoints/create-products"><span class="devsite-nav-text" tooltip>Create products and promotions</span></a></li><li class="devsite-nav-item"><a href="/web/20231023210419/https://developer.android.com/guide/playpoints/deliver-items" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /guide/playpoints/deliver-items" track-type="bookNav" track-name="click" track-metadata-eventdetail="/guide/playpoints/deliver-items"><span class="devsite-nav-text" tooltip>Detect and deliver products</span></a></li><li class="devsite-nav-item"><a href="/web/20231023210419/https://developer.android.com/guide/playpoints/test" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /guide/playpoints/test" track-type="bookNav" track-name="click" track-metadata-eventdetail="/guide/playpoints/test"><span class="devsite-nav-text" tooltip>Test products</span></a></li></ul></div></li><li class="devsite-nav-item devsite-nav-expandable"><div class="devsite-expandable-nav"> <a class="devsite-nav-toggle" aria-hidden="true"></a><div class="devsite-nav-title devsite-nav-title-no-path" tabindex="0" role="button"> <span class="devsite-nav-text" tooltip>Play Asset Delivery</span> </div><ul class="devsite-nav-section"><li class="devsite-nav-item"><a href="/web/20231023210419/https://developer.android.com/guide/playcore/asset-delivery" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /guide/playcore/asset-delivery" track-type="bookNav" track-name="click" track-metadata-eventdetail="/guide/playcore/asset-delivery"><span class="devsite-nav-text" tooltip>About Play Asset Delivery</span></a></li><li class="devsite-nav-item"><a href="/web/20231023210419/https://developer.android.com/guide/playcore/asset-delivery/integrate-java" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /guide/playcore/asset-delivery/integrate-java" track-type="bookNav" track-name="click" track-metadata-eventdetail="/guide/playcore/asset-delivery/integrate-java"><span class="devsite-nav-text" tooltip>Integrate asset delivery (Kotlin & Java)</span></a></li><li class="devsite-nav-item"><a href="/web/20231023210419/https://developer.android.com/guide/playcore/asset-delivery/integrate-native" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /guide/playcore/asset-delivery/integrate-native" track-type="bookNav" track-name="click" track-metadata-eventdetail="/guide/playcore/asset-delivery/integrate-native"><span class="devsite-nav-text" tooltip>Integrate asset delivery (native)</span></a></li><li class="devsite-nav-item"><a href="/web/20231023210419/https://developer.android.com/guide/playcore/asset-delivery/integrate-unity" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /guide/playcore/asset-delivery/integrate-unity" track-type="bookNav" track-name="click" track-metadata-eventdetail="/guide/playcore/asset-delivery/integrate-unity"><span class="devsite-nav-text" tooltip>Integrate asset delivery (Unity)</span></a></li><li class="devsite-nav-item"><a href="/web/20231023210419/https://developer.android.com/guide/playcore/asset-delivery/texture-compression" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /guide/playcore/asset-delivery/texture-compression" track-type="bookNav" track-name="click" track-metadata-eventdetail="/guide/playcore/asset-delivery/texture-compression"><span class="devsite-nav-text" tooltip>Target texture compression formats</span></a></li><li class="devsite-nav-item"><a href="/web/20231023210419/https://developer.android.com/guide/playcore/asset-delivery/test" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /guide/playcore/asset-delivery/test" track-type="bookNav" track-name="click" track-metadata-eventdetail="/guide/playcore/asset-delivery/test"><span class="devsite-nav-text" tooltip>Test asset delivery</span></a></li></ul></div></li><li class="devsite-nav-item devsite-nav-expandable"><div class="devsite-expandable-nav"> <a class="devsite-nav-toggle" aria-hidden="true"></a><div class="devsite-nav-title devsite-nav-title-no-path" tabindex="0" role="button"> <span class="devsite-nav-text" tooltip>Play Feature Delivery</span> </div><ul class="devsite-nav-section"><li class="devsite-nav-item"><a href="/web/20231023210419/https://developer.android.com/guide/playcore/feature-delivery" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /guide/playcore/feature-delivery" track-type="bookNav" track-name="click" track-metadata-eventdetail="/guide/playcore/feature-delivery"><span class="devsite-nav-text" tooltip>About Play Feature Delivery</span></a></li><li class="devsite-nav-item"><a href="/web/20231023210419/https://developer.android.com/guide/playcore/feature-delivery/install-time" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /guide/playcore/feature-delivery/install-time" track-type="bookNav" track-name="click" track-metadata-eventdetail="/guide/playcore/feature-delivery/install-time"><span class="devsite-nav-text" tooltip>Configure install-time delivery</span></a></li><li class="devsite-nav-item"><a href="/web/20231023210419/https://developer.android.com/guide/playcore/feature-delivery/conditional" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /guide/playcore/feature-delivery/conditional" track-type="bookNav" track-name="click" track-metadata-eventdetail="/guide/playcore/feature-delivery/conditional"><span class="devsite-nav-text" tooltip>Configure conditional delivery</span></a></li><li class="devsite-nav-item"><a href="/web/20231023210419/https://developer.android.com/guide/playcore/feature-delivery/on-demand" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /guide/playcore/feature-delivery/on-demand" track-type="bookNav" track-name="click" track-metadata-eventdetail="/guide/playcore/feature-delivery/on-demand"><span class="devsite-nav-text" tooltip>Configure on-demand delivery</span></a></li><li class="devsite-nav-item"><a href="/web/20231023210419/https://developer.android.com/guide/playcore/feature-delivery/ux-guidelines" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /guide/playcore/feature-delivery/ux-guidelines" track-type="bookNav" track-name="click" track-metadata-eventdetail="/guide/playcore/feature-delivery/ux-guidelines"><span class="devsite-nav-text" tooltip>On-demand delivery best practices</span></a></li><li class="devsite-nav-item"><a href="/web/20231023210419/https://developer.android.com/guide/playcore/feature-delivery/instant" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /guide/playcore/feature-delivery/instant" track-type="bookNav" track-name="click" track-metadata-eventdetail="/guide/playcore/feature-delivery/instant"><span class="devsite-nav-text" tooltip>Configure instant delivery</span></a></li><li class="devsite-nav-item"><a href="/web/20231023210419/https://developer.android.com/guide/playcore/feature-delivery/additional-resources" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /guide/playcore/feature-delivery/additional-resources" track-type="bookNav" track-name="click" track-metadata-eventdetail="/guide/playcore/feature-delivery/additional-resources"><span class="devsite-nav-text" tooltip>Additional resources</span></a></li></ul></div></li><li class="devsite-nav-item devsite-nav-expandable"><div class="devsite-expandable-nav"> <a class="devsite-nav-toggle" aria-hidden="true"></a><div class="devsite-nav-title devsite-nav-title-no-path" tabindex="0" role="button"> <span class="devsite-nav-text" tooltip>In-app reviews</span> </div><ul class="devsite-nav-section"><li class="devsite-nav-item"><a href="/web/20231023210419/https://developer.android.com/guide/playcore/in-app-review" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /guide/playcore/in-app-review" track-type="bookNav" track-name="click" track-metadata-eventdetail="/guide/playcore/in-app-review"><span class="devsite-nav-text" tooltip>Overview</span></a></li><li class="devsite-nav-item"><a href="/web/20231023210419/https://developer.android.com/guide/playcore/in-app-review/kotlin-java" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /guide/playcore/in-app-review/kotlin-java" track-type="bookNav" track-name="click" track-metadata-eventdetail="/guide/playcore/in-app-review/kotlin-java"><span class="devsite-nav-text" tooltip>Integrate using Kotlin or Java</span></a></li><li class="devsite-nav-item"><a href="/web/20231023210419/https://developer.android.com/guide/playcore/in-app-review/native" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /guide/playcore/in-app-review/native" track-type="bookNav" track-name="click" track-metadata-eventdetail="/guide/playcore/in-app-review/native"><span class="devsite-nav-text" tooltip>Integrate using native code</span></a></li><li class="devsite-nav-item"><a href="/web/20231023210419/https://developer.android.com/guide/playcore/in-app-review/unity" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /guide/playcore/in-app-review/unity" track-type="bookNav" track-name="click" track-metadata-eventdetail="/guide/playcore/in-app-review/unity"><span class="devsite-nav-text" tooltip>Integrate using Unity</span></a></li><li class="devsite-nav-item"><a href="/web/20231023210419/https://developer.android.com/guide/playcore/in-app-review/test" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /guide/playcore/in-app-review/test" track-type="bookNav" track-name="click" track-metadata-eventdetail="/guide/playcore/in-app-review/test"><span class="devsite-nav-text" tooltip>Test in-app reviews</span></a></li></ul></div></li><li class="devsite-nav-item devsite-nav-expandable"><div class="devsite-expandable-nav"> <a class="devsite-nav-toggle" aria-hidden="true"></a><div class="devsite-nav-title devsite-nav-title-no-path" tabindex="0" role="button"> <span class="devsite-nav-text" tooltip>In-app updates</span> </div><ul class="devsite-nav-section"><li class="devsite-nav-item"><a href="/web/20231023210419/https://developer.android.com/guide/playcore/in-app-updates" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /guide/playcore/in-app-updates" track-type="bookNav" track-name="click" track-metadata-eventdetail="/guide/playcore/in-app-updates"><span class="devsite-nav-text" tooltip>About in-app updates</span></a></li><li class="devsite-nav-item"><a href="/web/20231023210419/https://developer.android.com/guide/playcore/in-app-updates/kotlin-java" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /guide/playcore/in-app-updates/kotlin-java" track-type="bookNav" track-name="click" track-metadata-eventdetail="/guide/playcore/in-app-updates/kotlin-java"><span class="devsite-nav-text" tooltip>Support in-app updates (Kotlin or Java)</span></a></li><li class="devsite-nav-item"><a href="/web/20231023210419/https://developer.android.com/guide/playcore/in-app-updates/native" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /guide/playcore/in-app-updates/native" track-type="bookNav" track-name="click" track-metadata-eventdetail="/guide/playcore/in-app-updates/native"><span class="devsite-nav-text" tooltip>Support in-app updates (Native)</span></a></li><li class="devsite-nav-item"><a href="/web/20231023210419/https://developer.android.com/guide/playcore/in-app-updates/unity" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /guide/playcore/in-app-updates/unity" track-type="bookNav" track-name="click" track-metadata-eventdetail="/guide/playcore/in-app-updates/unity"><span class="devsite-nav-text" tooltip>Support in-app updates (Unity)</span></a></li><li class="devsite-nav-item"><a href="/web/20231023210419/https://developer.android.com/guide/playcore/in-app-updates/test" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /guide/playcore/in-app-updates/test" track-type="bookNav" track-name="click" track-metadata-eventdetail="/guide/playcore/in-app-updates/test"><span class="devsite-nav-text" tooltip>Test in-app updates</span></a></li></ul></div></li><li class="devsite-nav-item devsite-nav-expandable"><div class="devsite-expandable-nav"> <a class="devsite-nav-toggle" aria-hidden="true"></a><div class="devsite-nav-title devsite-nav-title-no-path" tabindex="0" role="button"> <span class="devsite-nav-text" tooltip>Google Play Instant</span> </div><ul class="devsite-nav-section"><li class="devsite-nav-item"><a href="/web/20231023210419/https://developer.android.com/topic/google-play-instant/overview" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /topic/google-play-instant/overview" track-type="bookNav" track-name="click" track-metadata-eventdetail="/topic/google-play-instant/overview"><span class="devsite-nav-text" tooltip>About Google Play Instant</span></a></li><li class="devsite-nav-item devsite-nav-expandable"><div class="devsite-expandable-nav"> <a class="devsite-nav-toggle" aria-hidden="true"></a><div class="devsite-nav-title devsite-nav-title-no-path" tabindex="0" role="button"> <span class="devsite-nav-text" tooltip>Get started with instant apps</span> </div><ul class="devsite-nav-section"><li class="devsite-nav-item"><a href="/web/20231023210419/https://developer.android.com/topic/google-play-instant/getting-started/instant-enabled-app-bundle" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /topic/google-play-instant/getting-started/instant-enabled-app-bundle" track-type="bookNav" track-name="click" track-metadata-eventdetail="/topic/google-play-instant/getting-started/instant-enabled-app-bundle"><span class="devsite-nav-text" tooltip>Create an instant-enabled app bundle</span></a></li><li class="devsite-nav-item"><a href="/web/20231023210419/https://developer.android.com/topic/google-play-instant/best-practices/apps" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /topic/google-play-instant/best-practices/apps" track-type="bookNav" track-name="click" track-metadata-eventdetail="/topic/google-play-instant/best-practices/apps"><span class="devsite-nav-text" tooltip>UX best practices for apps</span></a></li></ul></div></li><li class="devsite-nav-item devsite-nav-expandable"><div class="devsite-expandable-nav"> <a class="devsite-nav-toggle" aria-hidden="true"></a><div class="devsite-nav-title devsite-nav-title-no-path" tabindex="0" role="button"> <span class="devsite-nav-text" tooltip>Get started with instant games</span> </div><ul class="devsite-nav-section"><li class="devsite-nav-item"><a href="/web/20231023210419/https://developer.android.com/topic/google-play-instant/getting-started/game-instant-app" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /topic/google-play-instant/getting-started/game-instant-app" track-type="bookNav" track-name="click" track-metadata-eventdetail="/topic/google-play-instant/getting-started/game-instant-app"><span class="devsite-nav-text" tooltip>About instant games</span></a></li><li class="devsite-nav-item"><a href="/web/20231023210419/https://developer.android.com/topic/google-play-instant/getting-started/game-unity-plugin" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /topic/google-play-instant/getting-started/game-unity-plugin" track-type="bookNav" track-name="click" track-metadata-eventdetail="/topic/google-play-instant/getting-started/game-unity-plugin"><span class="devsite-nav-text" tooltip>Unity plugin</span></a></li><li class="devsite-nav-item"><a href="/web/20231023210419/https://developer.android.com/topic/google-play-instant/best-practices/games" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /topic/google-play-instant/best-practices/games" track-type="bookNav" track-name="click" track-metadata-eventdetail="/topic/google-play-instant/best-practices/games"><span class="devsite-nav-text" tooltip>UX best practices for games</span></a></li><li class="devsite-nav-item"><a href="/web/20231023210419/https://developer.android.com/topic/google-play-instant/feature-module-migration" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /topic/google-play-instant/feature-module-migration" track-type="bookNav" track-name="click" track-metadata-eventdetail="/topic/google-play-instant/feature-module-migration"><span class="devsite-nav-text" tooltip>Migrate to Android App Bundles</span></a></li><li class="devsite-nav-item"><a href="/web/20231023210419/https://developer.android.com/topic/google-play-instant/getting-started/cloud-delivery-assets" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /topic/google-play-instant/getting-started/cloud-delivery-assets" track-type="bookNav" track-name="click" track-metadata-eventdetail="/topic/google-play-instant/getting-started/cloud-delivery-assets"><span class="devsite-nav-text" tooltip>Implement cloud delivery of assets</span></a></li><li class="devsite-nav-item"><a href="/web/20231023210419/https://developer.android.com/topic/google-play-instant/getting-started/support-play-games-services" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /topic/google-play-instant/getting-started/support-play-games-services" track-type="bookNav" track-name="click" track-metadata-eventdetail="/topic/google-play-instant/getting-started/support-play-games-services"><span class="devsite-nav-text" tooltip>Support Google Play Games Services</span></a></li><li class="devsite-nav-item"><a href="/web/20231023210419/https://developer.android.com/topic/google-play-instant/instant-play-games" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /topic/google-play-instant/instant-play-games" track-type="bookNav" track-name="click" track-metadata-eventdetail="/topic/google-play-instant/instant-play-games"><span class="devsite-nav-text" tooltip>Instant Play games</span></a></li><li class="devsite-nav-item"><a href="/web/20231023210419/https://developer.android.com/topic/google-play-instant/instant-play-games-checklist" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /topic/google-play-instant/instant-play-games-checklist" track-type="bookNav" track-name="click" track-metadata-eventdetail="/topic/google-play-instant/instant-play-games-checklist"><span class="devsite-nav-text" tooltip>Instant Play games checklist</span></a></li></ul></div></li><li class="devsite-nav-item"><a href="/web/20231023210419/https://developer.android.com/topic/google-play-instant/guides/reduce-module-size" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /topic/google-play-instant/guides/reduce-module-size" track-type="bookNav" track-name="click" track-metadata-eventdetail="/topic/google-play-instant/guides/reduce-module-size"><span class="devsite-nav-text" tooltip>Reduce the size of your instant app or game</span></a></li><li class="devsite-nav-item"><a href="/web/20231023210419/https://developer.android.com/topic/google-play-instant/guides/advertising" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /topic/google-play-instant/guides/advertising" track-type="bookNav" track-name="click" track-metadata-eventdetail="/topic/google-play-instant/guides/advertising"><span class="devsite-nav-text" tooltip>Add ads to your instant app or game</span></a></li><li class="devsite-nav-item"><a href="/web/20231023210419/https://developer.android.com/topic/google-play-instant/guides/multiple-entry-points" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /topic/google-play-instant/guides/multiple-entry-points" track-type="bookNav" track-name="click" track-metadata-eventdetail="/topic/google-play-instant/guides/multiple-entry-points"><span class="devsite-nav-text" tooltip>Provide multiple entry points</span></a></li><li class="devsite-nav-item devsite-nav-expandable"><div class="devsite-expandable-nav"> <a class="devsite-nav-toggle" aria-hidden="true"></a><div class="devsite-nav-title devsite-nav-title-no-path" tabindex="0" role="button"> <span class="devsite-nav-text" tooltip>Integrate with Firebase</span> </div><ul class="devsite-nav-section"><li class="devsite-nav-item"><a href="/web/20231023210419/https://developer.android.com/topic/google-play-instant/guides/analytics" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /topic/google-play-instant/guides/analytics" track-type="bookNav" track-name="click" track-metadata-eventdetail="/topic/google-play-instant/guides/analytics"><span class="devsite-nav-text" tooltip>Add Google Analytics for Firebase to your instant app</span></a></li><li class="devsite-nav-item"><a href="/web/20231023210419/https://developer.android.com/topic/google-play-instant/guides/dynamic-links" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /topic/google-play-instant/guides/dynamic-links" track-type="bookNav" track-name="click" track-metadata-eventdetail="/topic/google-play-instant/guides/dynamic-links"><span class="devsite-nav-text" tooltip>Use Firebase Dynamic Links with instant apps</span></a></li></ul></div></li><li class="devsite-nav-item"><a href="/web/20231023210419/https://developer.android.com/topic/google-play-instant/tech-requirements" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /topic/google-play-instant/tech-requirements" track-type="bookNav" track-name="click" track-metadata-eventdetail="/topic/google-play-instant/tech-requirements"><span class="devsite-nav-text" tooltip>Technical requirements checklist</span></a></li><li class="devsite-nav-item"><a href="http://web.archive.org/web/20231023210419/https://play.google.com/about/other-programs/android-instant-apps/" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: https://play.google.com/about/other-programs/android-instant-apps/" track-type="bookNav" track-name="click" track-metadata-eventdetail="https://play.google.com/about/other-programs/android-instant-apps/"><span class="devsite-nav-text" tooltip>Google Play Instant policy</span></a></li><li class="devsite-nav-item devsite-nav-expandable"><div class="devsite-expandable-nav"> <a class="devsite-nav-toggle" aria-hidden="true"></a><div class="devsite-nav-title devsite-nav-title-no-path" tabindex="0" role="button"> <span class="devsite-nav-text" tooltip>Resources</span> </div><ul class="devsite-nav-section"><li class="devsite-nav-item"><a href="http://web.archive.org/web/20231023210419/https://developers.google.com/android/reference/com/google/android/gms/instantapps/package-summary" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: https://developers.google.com/android/reference/com/google/android/gms/instantapps/package-summary" track-type="bookNav" track-name="click" track-metadata-eventdetail="https://developers.google.com/android/reference/com/google/android/gms/instantapps/package-summary"><span class="devsite-nav-text" tooltip>Reference</span></a></li><li class="devsite-nav-item"><a href="/web/20231023210419/https://developer.android.com/topic/google-play-instant/samples" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /topic/google-play-instant/samples" track-type="bookNav" track-name="click" track-metadata-eventdetail="/topic/google-play-instant/samples"><span class="devsite-nav-text" tooltip>Code samples</span></a></li><li class="devsite-nav-item"><a href="/web/20231023210419/https://developer.android.com/topic/google-play-instant/release-notes" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /topic/google-play-instant/release-notes" track-type="bookNav" track-name="click" track-metadata-eventdetail="/topic/google-play-instant/release-notes"><span class="devsite-nav-text" tooltip>SDK release notes</span></a></li><li class="devsite-nav-item"><a href="/web/20231023210419/https://developer.android.com/topic/google-play-instant/instant-app-intents" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /topic/google-play-instant/instant-app-intents" track-type="bookNav" track-name="click" track-metadata-eventdetail="/topic/google-play-instant/instant-app-intents"><span class="devsite-nav-text" tooltip>Instant App Intents</span></a></li></ul></div></li><li class="devsite-nav-item devsite-nav-expandable"><div class="devsite-expandable-nav"> <a class="devsite-nav-toggle" aria-hidden="true"></a><div class="devsite-nav-title devsite-nav-title-no-path" tabindex="0" role="button"> <span class="devsite-nav-text" tooltip>Support</span> </div><ul class="devsite-nav-section"><li class="devsite-nav-item"><a href="http://web.archive.org/web/20231023210419/https://issuetracker.google.com/issues?q=status:open%20componentid:316045" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: https://issuetracker.google.com/issues?q=status:open%20componentid:316045" track-type="bookNav" track-name="click" track-metadata-eventdetail="https://issuetracker.google.com/issues?q=status:open%20componentid:316045"><span class="devsite-nav-text" tooltip>Known issues</span></a></li><li class="devsite-nav-item devsite-nav-external"><a href="http://web.archive.org/web/20231023210419/https://stackoverflow.com/questions/tagged/android-instant-apps" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: https://stackoverflow.com/questions/tagged/android-instant-apps" track-type="bookNav" track-name="click" track-metadata-eventdetail="https://stackoverflow.com/questions/tagged/android-instant-apps"><span class="devsite-nav-text" tooltip>StackOverflow</span><span class="devsite-nav-icon material-icons" data-icon="external" data-title="External" aria-hidden="true"></span></a></li></ul></div></li></ul></div></li><li class="devsite-nav-item"><a href="/web/20231023210419/https://developer.android.com/google/play/developer-api" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /google/play/developer-api" track-type="bookNav" track-name="click" track-metadata-eventdetail="/google/play/developer-api"><span class="devsite-nav-text" tooltip>Play Developer APIs</span></a></li><li class="devsite-nav-item devsite-nav-expandable"><div class="devsite-expandable-nav"> <a class="devsite-nav-toggle" aria-hidden="true"></a><div class="devsite-nav-title devsite-nav-title-no-path" tabindex="0" role="button"> <span class="devsite-nav-text" tooltip>Play Install Referrer</span> </div><ul class="devsite-nav-section"><li class="devsite-nav-item"><a href="/web/20231023210419/https://developer.android.com/google/play/installreferrer" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /google/play/installreferrer" track-type="bookNav" track-name="click" track-metadata-eventdetail="/google/play/installreferrer"><span class="devsite-nav-text" tooltip>Overview</span></a></li><li class="devsite-nav-item devsite-nav-expandable"><div class="devsite-expandable-nav"> <a class="devsite-nav-toggle" aria-hidden="true"></a><div class="devsite-nav-title devsite-nav-title-no-path" tabindex="0" role="button"> <span class="devsite-nav-text" tooltip>Play Install Referrer Library</span> </div><ul class="devsite-nav-section"><li class="devsite-nav-item"><a href="/web/20231023210419/https://developer.android.com/google/play/installreferrer/library" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /google/play/installreferrer/library" track-type="bookNav" track-name="click" track-metadata-eventdetail="/google/play/installreferrer/library"><span class="devsite-nav-text" tooltip>Overview</span></a></li><li class="devsite-nav-item"><a href="/web/20231023210419/https://developer.android.com/reference/com/android/installreferrer/packages" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /reference/com/android/installreferrer/packages" track-type="bookNav" track-name="click" track-metadata-eventdetail="/reference/com/android/installreferrer/packages"><span class="devsite-nav-text" tooltip>Reference</span></a></li><li class="devsite-nav-item"><a href="/web/20231023210419/https://developer.android.com/google/play/installreferrer/release-notes" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /google/play/installreferrer/release-notes" track-type="bookNav" track-name="click" track-metadata-eventdetail="/google/play/installreferrer/release-notes"><span class="devsite-nav-text" tooltip>Release notes</span></a></li></ul></div></li><li class="devsite-nav-item"><a href="/web/20231023210419/https://developer.android.com/google/play/installreferrer/igetinstallreferrerservice" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /google/play/installreferrer/igetinstallreferrerservice" track-type="bookNav" track-name="click" track-metadata-eventdetail="/google/play/installreferrer/igetinstallreferrerservice"><span class="devsite-nav-text" tooltip>Play Install Referrer API</span></a></li></ul></div></li><li class="devsite-nav-item"><a href="/web/20231023210419/https://developer.android.com/google/play/integrity" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /google/play/integrity" track-type="bookNav" track-name="click" track-metadata-eventdetail="/google/play/integrity"><span class="devsite-nav-text" tooltip>Play Integrity API</span></a></li><li class="devsite-nav-item devsite-nav-expandable"><div class="devsite-expandable-nav"> <a class="devsite-nav-toggle" aria-hidden="true"></a><div class="devsite-nav-title devsite-nav-title-no-path" tabindex="0" role="button"> <span class="devsite-nav-text" tooltip>Play Requirements</span> </div><ul class="devsite-nav-section"><li class="devsite-nav-item"><a href="/web/20231023210419/https://developer.android.com/distribute/play-policies" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /distribute/play-policies" track-type="bookNav" track-name="click" track-metadata-eventdetail="/distribute/play-policies"><span class="devsite-nav-text" tooltip>Play Policies</span></a></li><li class="devsite-nav-item"><a href="/web/20231023210419/https://developer.android.com/google/play/requirements/target-sdk" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /google/play/requirements/target-sdk" track-type="bookNav" track-name="click" track-metadata-eventdetail="/google/play/requirements/target-sdk"><span class="devsite-nav-text" tooltip>Target API Level</span></a></li><li class="devsite-nav-item"><a href="/web/20231023210419/https://developer.android.com/google/play/requirements/64-bit" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /google/play/requirements/64-bit" track-type="bookNav" track-name="click" track-metadata-eventdetail="/google/play/requirements/64-bit"><span class="devsite-nav-text" tooltip>Support 64-bit architectures</span></a></li></ul></div></li><li class="devsite-nav-item devsite-nav-expandable"><div class="devsite-expandable-nav"> <a class="devsite-nav-toggle" aria-hidden="true"></a><div class="devsite-nav-title devsite-nav-title-no-path" tabindex="0" role="button"> <span class="devsite-nav-text" tooltip>Application Licensing</span> </div><ul class="devsite-nav-section"><li class="devsite-nav-item"><a href="/web/20231023210419/https://developer.android.com/google/play/licensing" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /google/play/licensing" track-type="bookNav" track-name="click" track-metadata-eventdetail="/google/play/licensing"><span class="devsite-nav-text" tooltip>Overview</span></a></li><li class="devsite-nav-item"><a href="/web/20231023210419/https://developer.android.com/google/play/licensing/overview" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /google/play/licensing/overview" track-type="bookNav" track-name="click" track-metadata-eventdetail="/google/play/licensing/overview"><span class="devsite-nav-text" tooltip>Licensing Overview</span></a></li><li class="devsite-nav-item"><a href="/web/20231023210419/https://developer.android.com/google/play/licensing/setting-up" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /google/play/licensing/setting-up" track-type="bookNav" track-name="click" track-metadata-eventdetail="/google/play/licensing/setting-up"><span class="devsite-nav-text" tooltip>Setting Up for Licensing</span></a></li><li class="devsite-nav-item"><a href="/web/20231023210419/https://developer.android.com/google/play/licensing/server-side-verification" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /google/play/licensing/server-side-verification" track-type="bookNav" track-name="click" track-metadata-eventdetail="/google/play/licensing/server-side-verification"><span class="devsite-nav-text" tooltip>Adding Server-Side Verification</span></a></li><li class="devsite-nav-item"><a href="/web/20231023210419/https://developer.android.com/google/play/licensing/client-side-verification" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /google/play/licensing/client-side-verification" track-type="bookNav" track-name="click" track-metadata-eventdetail="/google/play/licensing/client-side-verification"><span class="devsite-nav-text" tooltip>Adding Client-Side Verification</span></a></li><li class="devsite-nav-item"><a href="/web/20231023210419/https://developer.android.com/google/play/licensing/licensing-reference" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /google/play/licensing/licensing-reference" track-type="bookNav" track-name="click" track-metadata-eventdetail="/google/play/licensing/licensing-reference"><span class="devsite-nav-text" tooltip>Licensing Reference</span></a></li></ul></div></li><li class="devsite-nav-item"><a href="/web/20231023210419/https://developer.android.com/google/play/expansion-files" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /google/play/expansion-files" track-type="bookNav" track-name="click" track-metadata-eventdetail="/google/play/expansion-files"><span class="devsite-nav-text" tooltip>APK Expansion Files</span></a></li><li class="devsite-nav-item"><a href="/web/20231023210419/https://developer.android.com/google/play/app-updates" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /google/play/app-updates" track-type="bookNav" track-name="click" track-metadata-eventdetail="/google/play/app-updates"><span class="devsite-nav-text" tooltip>App updates</span></a></li></ul></div></li><li class="devsite-nav-item devsite-nav-expandable"><div class="devsite-expandable-nav"> <a class="devsite-nav-toggle" aria-hidden="true"></a><div class="devsite-nav-title devsite-nav-title-no-path" tabindex="0" role="button"> <span class="devsite-nav-text" tooltip>Google Assistant</span> </div><ul class="devsite-nav-section"><li class="devsite-nav-item"><a href="/web/20231023210419/https://developer.android.com/guide/app-actions/overview" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /guide/app-actions/overview" track-type="bookNav" track-name="click" track-metadata-eventdetail="/guide/app-actions/overview"><span class="devsite-nav-text" tooltip>About Assistant for Android</span></a></li><li class="devsite-nav-item devsite-nav-expandable"><div class="devsite-expandable-nav"> <a class="devsite-nav-toggle" aria-hidden="true"></a><div class="devsite-nav-title devsite-nav-title-no-path" tabindex="0" role="button"> <span class="devsite-nav-text" tooltip>Build</span> </div><ul class="devsite-nav-section"><li class="devsite-nav-item"><a href="/web/20231023210419/https://developer.android.com/guide/app-actions/get-started" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /guide/app-actions/get-started" track-type="bookNav" track-name="click" track-metadata-eventdetail="/guide/app-actions/get-started"><span class="devsite-nav-text" tooltip>About App Actions</span></a></li><li class="devsite-nav-item"><a href="/web/20231023210419/https://developer.android.com/guide/app-actions/intents" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /guide/app-actions/intents" track-type="bookNav" track-name="click" track-metadata-eventdetail="/guide/app-actions/intents"><span class="devsite-nav-text" tooltip>Implement built-in intents</span></a></li><li class="devsite-nav-item"><a href="/web/20231023210419/https://developer.android.com/guide/app-actions/action-schema" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /guide/app-actions/action-schema" track-type="bookNav" track-name="click" track-metadata-eventdetail="/guide/app-actions/action-schema"><span class="devsite-nav-text" tooltip>Create shortcuts.xml</span></a></li><li class="devsite-nav-item"><a href="/web/20231023210419/https://developer.android.com/guide/app-actions/dynamic-shortcuts" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /guide/app-actions/dynamic-shortcuts" track-type="bookNav" track-name="click" track-metadata-eventdetail="/guide/app-actions/dynamic-shortcuts"><span class="devsite-nav-text" tooltip>Push dynamic shortcuts to Assistant</span></a></li><li class="devsite-nav-item"><a href="/web/20231023210419/https://developer.android.com/guide/app-actions/release-notes" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /guide/app-actions/release-notes" track-type="bookNav" track-name="click" track-metadata-eventdetail="/guide/app-actions/release-notes"><span class="devsite-nav-text" tooltip>Release notes</span></a></li></ul></div></li><li class="devsite-nav-item devsite-nav-expandable"><div class="devsite-expandable-nav"> <a class="devsite-nav-toggle" aria-hidden="true"></a><div class="devsite-nav-title devsite-nav-title-no-path" tabindex="0" role="button"> <span class="devsite-nav-text" tooltip>Test</span> </div><ul class="devsite-nav-section"><li class="devsite-nav-item"><a href="/web/20231023210419/https://developer.android.com/guide/app-actions/test-tool" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /guide/app-actions/test-tool" track-type="bookNav" track-name="click" track-metadata-eventdetail="/guide/app-actions/test-tool"><span class="devsite-nav-text" tooltip>Google Assistant plugin</span></a></li><li class="devsite-nav-item"><a href="/web/20231023210419/https://developer.android.com/guide/app-actions/app-actions-test-library" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /guide/app-actions/app-actions-test-library" track-type="bookNav" track-name="click" track-metadata-eventdetail="/guide/app-actions/app-actions-test-library"><span class="devsite-nav-text" tooltip>App Actions Test Library</span></a></li></ul></div></li><li class="devsite-nav-item devsite-nav-expandable"><div class="devsite-expandable-nav"> <a class="devsite-nav-toggle" aria-hidden="true"></a><div class="devsite-nav-title devsite-nav-title-no-path" tabindex="0" role="button"> <span class="devsite-nav-text" tooltip>Grow</span> </div><ul class="devsite-nav-section"><li class="devsite-nav-item"><a href="/web/20231023210419/https://developer.android.com/guide/app-actions/grow-overview" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /guide/app-actions/grow-overview" track-type="bookNav" track-name="click" track-metadata-eventdetail="/guide/app-actions/grow-overview"><span class="devsite-nav-text" tooltip>Engage your users</span></a></li><li class="devsite-nav-item"><a href="/web/20231023210419/https://developer.android.com/guide/app-actions/in-app-promo-sdk" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /guide/app-actions/in-app-promo-sdk" track-type="bookNav" track-name="click" track-metadata-eventdetail="/guide/app-actions/in-app-promo-sdk"><span class="devsite-nav-text" tooltip>In-App Shortcut Promo SDK</span></a></li></ul></div></li><li class="devsite-nav-item devsite-nav-expandable"><div class="devsite-expandable-nav"> <a class="devsite-nav-toggle" aria-hidden="true"></a><div class="devsite-nav-title devsite-nav-title-no-path" tabindex="0" role="button"> <span class="devsite-nav-text" tooltip>Add more features</span> </div><ul class="devsite-nav-section"><li class="devsite-nav-item"><a href="/web/20231023210419/https://developer.android.com/guide/app-actions/custom-intents" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /guide/app-actions/custom-intents" track-type="bookNav" track-name="click" track-metadata-eventdetail="/guide/app-actions/custom-intents"><span class="devsite-nav-text" tooltip>Custom intents</span></a></li><li class="devsite-nav-item"><a href="/web/20231023210419/https://developer.android.com/guide/app-actions/widgets" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /guide/app-actions/widgets" track-type="bookNav" track-name="click" track-metadata-eventdetail="/guide/app-actions/widgets"><span class="devsite-nav-text" tooltip>Android widgets</span></a></li><li class="devsite-nav-item"><a href="/web/20231023210419/https://developer.android.com/guide/app-actions/foreground-app" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /guide/app-actions/foreground-app" track-type="bookNav" track-name="click" track-metadata-eventdetail="/guide/app-actions/foreground-app"><span class="devsite-nav-text" tooltip>Foreground app invocation</span></a></li><li class="devsite-nav-item"><a href="/web/20231023210419/https://developer.android.com/guide/app-actions/inline-inventory" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /guide/app-actions/inline-inventory" track-type="bookNav" track-name="click" track-metadata-eventdetail="/guide/app-actions/inline-inventory"><span class="devsite-nav-text" tooltip>Inline inventory</span></a></li><li class="devsite-nav-item"><a href="/web/20231023210419/https://developer.android.com/guide/app-actions/web-inventory" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /guide/app-actions/web-inventory" track-type="bookNav" track-name="click" track-metadata-eventdetail="/guide/app-actions/web-inventory"><span class="devsite-nav-text" tooltip>Web inventory</span></a></li><li class="devsite-nav-item"><a href="/web/20231023210419/https://developer.android.com/guide/app-actions/assistant-sharing" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /guide/app-actions/assistant-sharing" track-type="bookNav" track-name="click" track-metadata-eventdetail="/guide/app-actions/assistant-sharing"><span class="devsite-nav-text" tooltip>Assistant sharing</span></a></li><li class="devsite-nav-item"><a href="/web/20231023210419/https://developer.android.com/guide/app-actions/read-it" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /guide/app-actions/read-it" track-type="bookNav" track-name="click" track-metadata-eventdetail="/guide/app-actions/read-it"><span class="devsite-nav-text" tooltip>Read It</span></a></li></ul></div></li><li class="devsite-nav-item devsite-nav-expandable"><div class="devsite-expandable-nav"> <a class="devsite-nav-toggle" aria-hidden="true"></a><div class="devsite-nav-title devsite-nav-title-no-path" tabindex="0" role="button"> <span class="devsite-nav-text" tooltip>Devices</span> </div><ul class="devsite-nav-section"><li class="devsite-nav-item"><a href="/web/20231023210419/https://developer.android.com/guide/app-actions/cars" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /guide/app-actions/cars" track-type="bookNav" track-name="click" track-metadata-eventdetail="/guide/app-actions/cars"><span class="devsite-nav-text" tooltip>App Actions for cars</span></a></li><li class="devsite-nav-item"><a href="/web/20231023210419/https://developer.android.com/guide/app-actions/wear" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /guide/app-actions/wear" track-type="bookNav" track-name="click" track-metadata-eventdetail="/guide/app-actions/wear"><span class="devsite-nav-text" tooltip>Assistant for Wear OS</span></a></li></ul></div></li><li class="devsite-nav-item devsite-nav-expandable"><div class="devsite-expandable-nav"> <a class="devsite-nav-toggle" aria-hidden="true"></a><div class="devsite-nav-title devsite-nav-title-no-path" tabindex="0" role="button"> <span class="devsite-nav-text" tooltip>Actions.xml</span> </div><ul class="devsite-nav-section"><li class="devsite-nav-item"><a href="/web/20231023210419/https://developer.android.com/guide/app-actions/legacy/migration-guide" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /guide/app-actions/legacy/migration-guide" track-type="bookNav" track-name="click" track-metadata-eventdetail="/guide/app-actions/legacy/migration-guide"><span class="devsite-nav-text" tooltip>Actions.xml migration guide</span></a></li><li class="devsite-nav-item"><a href="/web/20231023210419/https://developer.android.com/guide/app-actions/legacy" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /guide/app-actions/legacy" track-type="bookNav" track-name="click" track-metadata-eventdetail="/guide/app-actions/legacy"><span class="devsite-nav-text" tooltip>About Actions.xml</span></a></li><li class="devsite-nav-item"><a href="/web/20231023210419/https://developer.android.com/guide/app-actions/legacy/build-overview" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /guide/app-actions/legacy/build-overview" track-type="bookNav" track-name="click" track-metadata-eventdetail="/guide/app-actions/legacy/build-overview"><span class="devsite-nav-text" tooltip>Build App Actions</span></a></li><li class="devsite-nav-item"><a href="/web/20231023210419/https://developer.android.com/guide/app-actions/legacy/action-schema" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /guide/app-actions/legacy/action-schema" track-type="bookNav" track-name="click" track-metadata-eventdetail="/guide/app-actions/legacy/action-schema"><span class="devsite-nav-text" tooltip>Create actions.xml</span></a></li><li class="devsite-nav-item"><a href="/web/20231023210419/https://developer.android.com/guide/app-actions/legacy/web-inventory" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /guide/app-actions/legacy/web-inventory" track-type="bookNav" track-name="click" track-metadata-eventdetail="/guide/app-actions/legacy/web-inventory"><span class="devsite-nav-text" tooltip>Web inventory</span></a></li><li class="devsite-nav-item"><a href="/web/20231023210419/https://developer.android.com/guide/app-actions/legacy/test-tool" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /guide/app-actions/legacy/test-tool" track-type="bookNav" track-name="click" track-metadata-eventdetail="/guide/app-actions/legacy/test-tool"><span class="devsite-nav-text" tooltip>App Actions test tool</span></a></li><li class="devsite-nav-item"><a href="/web/20231023210419/https://developer.android.com/guide/app-actions/legacy/slices" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /guide/app-actions/legacy/slices" track-type="bookNav" track-name="click" track-metadata-eventdetail="/guide/app-actions/legacy/slices"><span class="devsite-nav-text" tooltip>Android Slices</span></a></li><li class="devsite-nav-item"><a href="/web/20231023210419/https://developer.android.com/guide/app-actions/legacy/troubleshoot" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /guide/app-actions/legacy/troubleshoot" track-type="bookNav" track-name="click" track-metadata-eventdetail="/guide/app-actions/legacy/troubleshoot"><span class="devsite-nav-text" tooltip>Troubleshooting</span></a></li></ul></div></li><li class="devsite-nav-item"><a href="/web/20231023210419/https://developer.android.com/guide/app-actions/app-actions-support" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /guide/app-actions/app-actions-support" track-type="bookNav" track-name="click" track-metadata-eventdetail="/guide/app-actions/app-actions-support"><span class="devsite-nav-text" tooltip>Support</span></a></li></ul></div></li><li class="devsite-nav-item"><a href="/web/20231023210419/https://developer.android.com/guide/sdk-extensions" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /guide/sdk-extensions" track-type="bookNav" track-name="click" track-metadata-eventdetail="/guide/sdk-extensions"><span class="devsite-nav-text" tooltip>SDK Extensions</span></a></li></ul></div></li> <li class="devsite-nav-item devsite-nav-expandable devsite-nav-accordion"><div class="devsite-expandable-nav"> <a class="devsite-nav-toggle" aria-hidden="true"></a><div class="devsite-nav-title devsite-nav-title-no-path" tabindex="0" role="button"> <span class="devsite-nav-text" tooltip>Best practices</span> </div><ul class="devsite-nav-section"><li class="devsite-nav-item devsite-nav-expandable"><div class="devsite-expandable-nav"> <a class="devsite-nav-toggle" aria-hidden="true"></a><div class="devsite-nav-title devsite-nav-title-no-path" tabindex="0" role="button"> <span class="devsite-nav-text" tooltip>Testing</span> </div><ul class="devsite-nav-section"><li class="devsite-nav-item"><a href="/web/20231023210419/https://developer.android.com/training/testing" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /training/testing" track-type="bookNav" track-name="click" track-metadata-eventdetail="/training/testing"><span class="devsite-nav-text" tooltip>Test apps on Android</span></a></li><li class="devsite-nav-item devsite-nav-expandable"><div class="devsite-expandable-nav"> <a class="devsite-nav-toggle" aria-hidden="true"></a><div class="devsite-nav-title devsite-nav-title-no-path" tabindex="0" role="button"> <span class="devsite-nav-text" tooltip>Fundamentals</span> </div><ul class="devsite-nav-section"><li class="devsite-nav-item"><a href="/web/20231023210419/https://developer.android.com/training/testing/fundamentals" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /training/testing/fundamentals" track-type="bookNav" track-name="click" track-metadata-eventdetail="/training/testing/fundamentals"><span class="devsite-nav-text" tooltip>Fundamentals of testing Android apps</span></a></li><li class="devsite-nav-item"><a href="/web/20231023210419/https://developer.android.com/training/testing/fundamentals/what-to-test" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /training/testing/fundamentals/what-to-test" track-type="bookNav" track-name="click" track-metadata-eventdetail="/training/testing/fundamentals/what-to-test"><span class="devsite-nav-text" tooltip>What to test in Android</span></a></li><li class="devsite-nav-item"><a href="/web/20231023210419/https://developer.android.com/training/testing/fundamentals/test-doubles" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /training/testing/fundamentals/test-doubles" track-type="bookNav" track-name="click" track-metadata-eventdetail="/training/testing/fundamentals/test-doubles"><span class="devsite-nav-text" tooltip>Using test doubles in Android</span></a></li></ul></div></li><li class="devsite-nav-item devsite-nav-expandable"><div class="devsite-expandable-nav"> <a class="devsite-nav-toggle" aria-hidden="true"></a><div class="devsite-nav-title devsite-nav-title-no-path" tabindex="0" role="button"> <span class="devsite-nav-text" tooltip>Local tests</span> </div><ul class="devsite-nav-section"><li class="devsite-nav-item"><a href="/web/20231023210419/https://developer.android.com/training/testing/local-tests" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /training/testing/local-tests" track-type="bookNav" track-name="click" track-metadata-eventdetail="/training/testing/local-tests"><span class="devsite-nav-text" tooltip>Build local tests</span></a></li></ul></div></li><li class="devsite-nav-item devsite-nav-expandable"><div class="devsite-expandable-nav"> <a class="devsite-nav-toggle" aria-hidden="true"></a><div class="devsite-nav-title devsite-nav-title-no-path" tabindex="0" role="button"> <span class="devsite-nav-text" tooltip>Instrumented tests</span> </div><ul class="devsite-nav-section"><li class="devsite-nav-item"><a href="/web/20231023210419/https://developer.android.com/training/testing/instrumented-tests" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /training/testing/instrumented-tests" track-type="bookNav" track-name="click" track-metadata-eventdetail="/training/testing/instrumented-tests"><span class="devsite-nav-text" tooltip>Build instrumented tests</span></a></li><li class="devsite-nav-item"><a href="/web/20231023210419/https://developer.android.com/training/testing/instrumented-tests/ui-tests" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /training/testing/instrumented-tests/ui-tests" track-type="bookNav" track-name="click" track-metadata-eventdetail="/training/testing/instrumented-tests/ui-tests"><span class="devsite-nav-text" tooltip>Automate UI tests</span></a></li><li class="devsite-nav-item devsite-nav-expandable"><div class="devsite-expandable-nav"> <a class="devsite-nav-toggle" aria-hidden="true"></a><div class="devsite-nav-title devsite-nav-title-no-path" tabindex="0" role="button"> <span class="devsite-nav-text" tooltip>AndroidX test libraries</span> </div><ul class="devsite-nav-section"><li class="devsite-nav-item"><a href="/web/20231023210419/https://developer.android.com/training/testing/instrumented-tests/androidx-test-libraries/test-setup" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /training/testing/instrumented-tests/androidx-test-libraries/test-setup" track-type="bookNav" track-name="click" track-metadata-eventdetail="/training/testing/instrumented-tests/androidx-test-libraries/test-setup"><span class="devsite-nav-text" tooltip>Set up project for AndroidX Test</span></a></li><li class="devsite-nav-item"><a href="/web/20231023210419/https://developer.android.com/training/testing/instrumented-tests/androidx-test-libraries/rules" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /training/testing/instrumented-tests/androidx-test-libraries/rules" track-type="bookNav" track-name="click" track-metadata-eventdetail="/training/testing/instrumented-tests/androidx-test-libraries/rules"><span class="devsite-nav-text" tooltip>JUnit4 rules with AndroidX Test</span></a></li><li class="devsite-nav-item"><a href="/web/20231023210419/https://developer.android.com/training/testing/instrumented-tests/androidx-test-libraries/runner" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /training/testing/instrumented-tests/androidx-test-libraries/runner" track-type="bookNav" track-name="click" track-metadata-eventdetail="/training/testing/instrumented-tests/androidx-test-libraries/runner"><span class="devsite-nav-text" tooltip>AndroidJUnitRunner</span></a></li></ul></div></li></ul></div></li><li class="devsite-nav-item devsite-nav-expandable"><div class="devsite-expandable-nav"> <a class="devsite-nav-toggle" aria-hidden="true"></a><div class="devsite-nav-title devsite-nav-title-no-path" tabindex="0" role="button"> <span class="devsite-nav-text" tooltip>Continuous integration</span> </div><ul class="devsite-nav-section"><li class="devsite-nav-item"><a href="/web/20231023210419/https://developer.android.com/training/testing/continuous-integration" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /training/testing/continuous-integration" track-type="bookNav" track-name="click" track-metadata-eventdetail="/training/testing/continuous-integration"><span class="devsite-nav-text" tooltip>Basics</span></a></li><li class="devsite-nav-item"><a href="/web/20231023210419/https://developer.android.com/training/testing/continuous-integration/automation" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /training/testing/continuous-integration/automation" track-type="bookNav" track-name="click" track-metadata-eventdetail="/training/testing/continuous-integration/automation"><span class="devsite-nav-text" tooltip>Types of automation</span></a></li><li class="devsite-nav-item"><a href="/web/20231023210419/https://developer.android.com/training/testing/continuous-integration/features" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /training/testing/continuous-integration/features" track-type="bookNav" track-name="click" track-metadata-eventdetail="/training/testing/continuous-integration/features"><span class="devsite-nav-text" tooltip>Common features</span></a></li></ul></div></li><li class="devsite-nav-item devsite-nav-expandable"><div class="devsite-expandable-nav"> <a class="devsite-nav-toggle" aria-hidden="true"></a><div class="devsite-nav-title devsite-nav-title-no-path" tabindex="0" role="button"> <span class="devsite-nav-text" tooltip>Espresso</span> </div><ul class="devsite-nav-section"><li class="devsite-nav-item"><a href="/web/20231023210419/https://developer.android.com/training/testing/espresso" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /training/testing/espresso" track-type="bookNav" track-name="click" track-metadata-eventdetail="/training/testing/espresso"><span class="devsite-nav-text" tooltip>Espresso</span></a></li><li class="devsite-nav-item"><a href="/web/20231023210419/https://developer.android.com/training/testing/espresso/basics" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /training/testing/espresso/basics" track-type="bookNav" track-name="click" track-metadata-eventdetail="/training/testing/espresso/basics"><span class="devsite-nav-text" tooltip>Espresso basics</span></a></li><li class="devsite-nav-item"><a href="/web/20231023210419/https://developer.android.com/training/testing/espresso/setup" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /training/testing/espresso/setup" track-type="bookNav" track-name="click" track-metadata-eventdetail="/training/testing/espresso/setup"><span class="devsite-nav-text" tooltip>Espresso setup instructions</span></a></li><li class="devsite-nav-item"><a href="/web/20231023210419/https://developer.android.com/training/testing/espresso/cheat-sheet" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /training/testing/espresso/cheat-sheet" track-type="bookNav" track-name="click" track-metadata-eventdetail="/training/testing/espresso/cheat-sheet"><span class="devsite-nav-text" tooltip>Espresso cheat sheet</span></a></li><li class="devsite-nav-item"><a href="/web/20231023210419/https://developer.android.com/training/testing/espresso/idling-resource" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /training/testing/espresso/idling-resource" track-type="bookNav" track-name="click" track-metadata-eventdetail="/training/testing/espresso/idling-resource"><span class="devsite-nav-text" tooltip>Espresso idling resources</span></a></li><li class="devsite-nav-item"><a href="/web/20231023210419/https://developer.android.com/training/testing/espresso/intents" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /training/testing/espresso/intents" track-type="bookNav" track-name="click" track-metadata-eventdetail="/training/testing/espresso/intents"><span class="devsite-nav-text" tooltip>Espresso-Intents</span></a></li><li class="devsite-nav-item"><a href="/web/20231023210419/https://developer.android.com/training/testing/espresso/lists" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /training/testing/espresso/lists" track-type="bookNav" track-name="click" track-metadata-eventdetail="/training/testing/espresso/lists"><span class="devsite-nav-text" tooltip>Espresso lists</span></a></li><li class="devsite-nav-item"><a href="/web/20231023210419/https://developer.android.com/training/testing/espresso/multiprocess" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /training/testing/espresso/multiprocess" track-type="bookNav" track-name="click" track-metadata-eventdetail="/training/testing/espresso/multiprocess"><span class="devsite-nav-text" tooltip>Multiprocess Espresso</span></a></li><li class="devsite-nav-item"><a href="/web/20231023210419/https://developer.android.com/training/testing/espresso/recipes" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /training/testing/espresso/recipes" track-type="bookNav" track-name="click" track-metadata-eventdetail="/training/testing/espresso/recipes"><span class="devsite-nav-text" tooltip>Espresso recipes</span></a></li><li class="devsite-nav-item"><a href="/web/20231023210419/https://developer.android.com/training/testing/espresso/web" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /training/testing/espresso/web" track-type="bookNav" track-name="click" track-metadata-eventdetail="/training/testing/espresso/web"><span class="devsite-nav-text" tooltip>Espresso Web</span></a></li><li class="devsite-nav-item"><a href="/web/20231023210419/https://developer.android.com/training/testing/espresso/accessibility-checking" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /training/testing/espresso/accessibility-checking" track-type="bookNav" track-name="click" track-metadata-eventdetail="/training/testing/espresso/accessibility-checking"><span class="devsite-nav-text" tooltip>Accessibility checking</span></a></li><li class="devsite-nav-item"><a href="/web/20231023210419/https://developer.android.com/training/testing/espresso/additional-resources" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /training/testing/espresso/additional-resources" track-type="bookNav" track-name="click" track-metadata-eventdetail="/training/testing/espresso/additional-resources"><span class="devsite-nav-text" tooltip>Additional Resources for Espresso</span></a></li></ul></div></li><li class="devsite-nav-item devsite-nav-expandable"><div class="devsite-expandable-nav"> <a class="devsite-nav-toggle" aria-hidden="true"></a><div class="devsite-nav-title devsite-nav-title-no-path" tabindex="0" role="button"> <span class="devsite-nav-text" tooltip>Testing other components</span> </div><ul class="devsite-nav-section"><li class="devsite-nav-item"><a href="/web/20231023210419/https://developer.android.com/training/testing/other-components/content-providers" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /training/testing/other-components/content-providers" track-type="bookNav" track-name="click" track-metadata-eventdetail="/training/testing/other-components/content-providers"><span class="devsite-nav-text" tooltip>Test content providers</span></a></li><li class="devsite-nav-item"><a href="/web/20231023210419/https://developer.android.com/training/testing/other-components/services" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /training/testing/other-components/services" track-type="bookNav" track-name="click" track-metadata-eventdetail="/training/testing/other-components/services"><span class="devsite-nav-text" tooltip>Test your service</span></a></li><li class="devsite-nav-item"><a href="/web/20231023210419/https://developer.android.com/training/testing/other-components/ui-automator" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /training/testing/other-components/ui-automator" track-type="bookNav" track-name="click" track-metadata-eventdetail="/training/testing/other-components/ui-automator"><span class="devsite-nav-text" tooltip>Write automated tests with UI Automator</span></a></li></ul></div></li></ul></div></li><li class="devsite-nav-item"><a href="/web/20231023210419/https://developer.android.com/topic/performance" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /topic/performance" track-type="bookNav" track-name="click" track-metadata-eventdetail="/topic/performance"><span class="devsite-nav-text" tooltip>Performance</span></a></li><li class="devsite-nav-item"><a href="/web/20231023210419/https://developer.android.com/guide/topics/ui/accessibility" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /guide/topics/ui/accessibility" track-type="bookNav" track-name="click" track-metadata-eventdetail="/guide/topics/ui/accessibility"><span class="devsite-nav-text" tooltip>Accessibility</span></a></li><li class="devsite-nav-item"><a href="/web/20231023210419/https://developer.android.com/privacy-and-security/about" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /privacy-and-security/about" track-type="bookNav" track-name="click" track-metadata-eventdetail="/privacy-and-security/about"><span class="devsite-nav-text" tooltip>Privacy ⍈</span></a></li><li class="devsite-nav-item"><a href="/web/20231023210419/https://developer.android.com/privacy-and-security/security-tips" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /privacy-and-security/security-tips" track-type="bookNav" track-name="click" track-metadata-eventdetail="/privacy-and-security/security-tips"><span class="devsite-nav-text" tooltip>Security ⍈</span></a></li><li class="devsite-nav-item devsite-nav-expandable"><div class="devsite-expandable-nav"> <a class="devsite-nav-toggle" aria-hidden="true"></a><div class="devsite-nav-title devsite-nav-title-no-path" tabindex="0" role="button"> <span class="devsite-nav-text" tooltip>SDKs</span> </div><ul class="devsite-nav-section"><li class="devsite-nav-item"><a href="/web/20231023210419/https://developer.android.com/guide/practices/sdk-best-practices" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /guide/practices/sdk-best-practices" track-type="bookNav" track-name="click" track-metadata-eventdetail="/guide/practices/sdk-best-practices"><span class="devsite-nav-text" tooltip>SDK best practices</span></a></li></ul></div></li></ul></div></li> <li class="devsite-nav-item"><a href="/web/20231023210419/https://developer.android.com/games/guides" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /games/guides" track-type="bookNav" track-name="click" track-metadata-eventdetail="/games/guides"><span class="devsite-nav-text" tooltip>Games ⍈</span></a></li> <li class="devsite-nav-item"><a href="/web/20231023210419/https://developer.android.com/health-and-fitness/guides/health-connect" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /health-and-fitness/guides/health-connect" track-type="bookNav" track-name="click" track-metadata-eventdetail="/health-and-fitness/guides/health-connect"><span class="devsite-nav-text" tooltip>Health Connect ⍈</span></a></li> <li class="devsite-nav-item"><a href="/web/20231023210419/https://developer.android.com/health-and-fitness/guides/health-services" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /health-and-fitness/guides/health-services" track-type="bookNav" track-name="click" track-metadata-eventdetail="/health-and-fitness/guides/health-services"><span class="devsite-nav-text" tooltip>Health Services on Wear OS ⍈</span></a></li> </ul> <ul class="devsite-nav-list" menu="Essentials" aria-label="Side menu" hidden> <li class="devsite-nav-item devsite-nav-heading"> <span class="devsite-nav-title" tooltip> <span class="devsite-nav-text" tooltip> Modern Android </span> </span> </li> <li class="devsite-nav-item"> <a href="/web/20231023210419/https://developer.android.com/modern-android-development" class="devsite-nav-title gc-analytics-event " data-category="Site-Wide Custom Events" data-label="Responsive Tab: Explore Modern Android" track-type="navMenu" track-metadata-eventdetail="globalMenu" track-metadata-position="nav"> <span class="devsite-nav-text" tooltip> Explore Modern Android </span> </a> </li> <li class="devsite-nav-item"> <a href="/web/20231023210419/https://developer.android.com/jetpack/compose/adopt/for-large-teams" class="devsite-nav-title gc-analytics-event " data-category="Site-Wide Custom Events" data-label="Responsive Tab: Adopt Compose for teams" track-type="navMenu" track-metadata-eventdetail="globalMenu" track-metadata-position="nav"> <span class="devsite-nav-text" tooltip> Adopt Compose for teams </span> </a> </li> <li class="devsite-nav-item devsite-nav-heading"> <span class="devsite-nav-title" tooltip> <span class="devsite-nav-text" tooltip> Get started </span> </span> </li> <li class="devsite-nav-item"> <a href="/web/20231023210419/https://developer.android.com/codelabs/basic-android-kotlin-compose-first-app" class="devsite-nav-title gc-analytics-event " data-category="Site-Wide Custom Events" data-label="Responsive Tab: Hello world" track-type="navMenu" track-metadata-eventdetail="globalMenu" track-metadata-position="nav"> <span class="devsite-nav-text" tooltip> Hello world </span> </a> </li> <li class="devsite-nav-item"> <a href="/web/20231023210419/https://developer.android.com/courses" class="devsite-nav-title gc-analytics-event " data-category="Site-Wide Custom Events" data-label="Responsive Tab: Training courses" track-type="navMenu" track-metadata-eventdetail="globalMenu" track-metadata-position="nav"> <span class="devsite-nav-text" tooltip> Training courses </span> </a> </li> <li class="devsite-nav-item"> <a href="/web/20231023210419/https://developer.android.com/get-started/codelabs" class="devsite-nav-title gc-analytics-event " data-category="Site-Wide Custom Events" data-label="Responsive Tab: Tutorials" track-type="navMenu" track-metadata-eventdetail="globalMenu" track-metadata-position="nav"> <span class="devsite-nav-text" tooltip> Tutorials </span> </a> </li> <li class="devsite-nav-item"> <a href="/web/20231023210419/https://developer.android.com/kotlin" class="devsite-nav-title gc-analytics-event " data-category="Site-Wide Custom Events" data-label="Responsive Tab: Kotlin for Android" track-type="navMenu" track-metadata-eventdetail="globalMenu" track-metadata-position="nav"> <span class="devsite-nav-text" tooltip> Kotlin for Android </span> </a> </li> <li class="devsite-nav-item"> <a href="http://web.archive.org/web/20231023210419/https://play.google.com/console/about/guides/monetize/" class="devsite-nav-title gc-analytics-event " data-category="Site-Wide Custom Events" data-label="Responsive Tab: Monetization with Play ↗️" track-type="navMenu" track-metadata-eventdetail="globalMenu" track-metadata-position="nav"> <span class="devsite-nav-text" tooltip> Monetization with Play ↗️ </span> </a> </li> <li class="devsite-nav-item devsite-nav-heading"> <span class="devsite-nav-title" tooltip> <span class="devsite-nav-text" tooltip> Extend by device </span> </span> </li> <li class="devsite-nav-item"> <a href="/web/20231023210419/https://developer.android.com/large-screens" class="devsite-nav-title gc-analytics-event " data-category="Site-Wide Custom Events" data-label="Responsive Tab: Large screens (e.g. Tablets)" track-type="navMenu" track-metadata-eventdetail="globalMenu" track-metadata-position="nav"> <span class="devsite-nav-text" tooltip> Large screens (e.g. Tablets) </span> </a> </li> <li class="devsite-nav-item"> <a href="/web/20231023210419/https://developer.android.com/wear" class="devsite-nav-title gc-analytics-event " data-category="Site-Wide Custom Events" data-label="Responsive Tab: Wear OS" track-type="navMenu" track-metadata-eventdetail="globalMenu" track-metadata-position="nav"> <span class="devsite-nav-text" tooltip> Wear OS </span> </a> </li> <li class="devsite-nav-item"> <a href="/web/20231023210419/https://developer.android.com/cars" class="devsite-nav-title gc-analytics-event " data-category="Site-Wide Custom Events" data-label="Responsive Tab: Android for Cars" track-type="navMenu" track-metadata-eventdetail="globalMenu" track-metadata-position="nav"> <span class="devsite-nav-text" tooltip> Android for Cars </span> </a> </li> <li class="devsite-nav-item"> <a href="/web/20231023210419/https://developer.android.com/tv" class="devsite-nav-title gc-analytics-event " data-category="Site-Wide Custom Events" data-label="Responsive Tab: Android TV" track-type="navMenu" track-metadata-eventdetail="globalMenu" track-metadata-position="nav"> <span class="devsite-nav-text" tooltip> Android TV </span> </a> </li> <li class="devsite-nav-item"> <a href="/web/20231023210419/https://developer.android.com/chrome-os" class="devsite-nav-title gc-analytics-event " data-category="Site-Wide Custom Events" data-label="Responsive Tab: ChromeOS" track-type="navMenu" track-metadata-eventdetail="globalMenu" track-metadata-position="nav"> <span class="devsite-nav-text" tooltip> ChromeOS </span> </a> </li> <li class="devsite-nav-item devsite-nav-heading"> <span class="devsite-nav-title" tooltip> <span class="devsite-nav-text" tooltip> Build by category </span> </span> </li> <li class="devsite-nav-item"> <a href="/web/20231023210419/https://developer.android.com/games" class="devsite-nav-title gc-analytics-event " data-category="Site-Wide Custom Events" data-label="Responsive Tab: Games" track-type="navMenu" track-metadata-eventdetail="globalMenu" track-metadata-position="nav"> <span class="devsite-nav-text" tooltip> Games </span> </a> </li> <li class="devsite-nav-item"> <a href="/web/20231023210419/https://developer.android.com/media" class="devsite-nav-title gc-analytics-event " data-category="Site-Wide Custom Events" data-label="Responsive Tab: Media apps" track-type="navMenu" track-metadata-eventdetail="globalMenu" track-metadata-position="nav"> <span class="devsite-nav-text" tooltip> Media apps </span> </a> </li> <li class="devsite-nav-item"> <a href="/web/20231023210419/https://developer.android.com/health-and-fitness" class="devsite-nav-title gc-analytics-event " data-category="Site-Wide Custom Events" data-label="Responsive Tab: Health & Fitness" track-type="navMenu" track-metadata-eventdetail="globalMenu" track-metadata-position="nav"> <span class="devsite-nav-text" tooltip> Health & Fitness </span> </a> </li> <li class="devsite-nav-item"> <a href="http://web.archive.org/web/20231023210419/https://developers.google.com/android/work" class="devsite-nav-title gc-analytics-event " data-category="Site-Wide Custom Events" data-label="Responsive Tab: Enterprise apps ↗️" track-type="navMenu" track-metadata-eventdetail="globalMenu" track-metadata-position="nav"> <span class="devsite-nav-text" tooltip> Enterprise apps ↗️ </span> </a> </li> <li class="devsite-nav-item devsite-nav-heading"> <span class="devsite-nav-title" tooltip> <span class="devsite-nav-text" tooltip> Get the latest </span> </span> </li> <li class="devsite-nav-item"> <a href="/web/20231023210419/https://developer.android.com/about/versions" class="devsite-nav-title gc-analytics-event " data-category="Site-Wide Custom Events" data-label="Responsive Tab: Platform releases" track-type="navMenu" track-metadata-eventdetail="globalMenu" track-metadata-position="nav"> <span class="devsite-nav-text" tooltip> Platform releases </span> </a> </li> <li class="devsite-nav-item"> <a href="/web/20231023210419/https://developer.android.com/studio/preview" class="devsite-nav-title gc-analytics-event " data-category="Site-Wide Custom Events" data-label="Responsive Tab: Android Studio preview" track-type="navMenu" track-metadata-eventdetail="globalMenu" track-metadata-position="nav"> <span class="devsite-nav-text" tooltip> Android Studio preview </span> </a> </li> <li class="devsite-nav-item"> <a href="/web/20231023210419/https://developer.android.com/jetpack/androidx/versions" class="devsite-nav-title gc-analytics-event " data-category="Site-Wide Custom Events" data-label="Responsive Tab: Jetpack & Compose libraries" track-type="navMenu" track-metadata-eventdetail="globalMenu" track-metadata-position="nav"> <span class="devsite-nav-text" tooltip> Jetpack & Compose libraries </span> </a> </li> <li class="devsite-nav-item"> <a href="/web/20231023210419/https://developer.android.com/training/wearables/versions/4" class="devsite-nav-title gc-analytics-event " data-category="Site-Wide Custom Events" data-label="Responsive Tab: Wear OS preview" track-type="navMenu" track-metadata-eventdetail="globalMenu" track-metadata-position="nav"> <span class="devsite-nav-text" tooltip> Wear OS preview </span> </a> </li> <li class="devsite-nav-item"> <a href="/web/20231023210419/https://developer.android.com/design-for-safety/privacy-sandbox" class="devsite-nav-title gc-analytics-event " data-category="Site-Wide Custom Events" data-label="Responsive Tab: Privacy Sandbox" track-type="navMenu" track-metadata-eventdetail="globalMenu" track-metadata-position="nav"> <span class="devsite-nav-text" tooltip> Privacy Sandbox </span> </a> </li> </ul> <ul class="devsite-nav-list" menu="Design & Plan" aria-label="Side menu" hidden> <li class="devsite-nav-item devsite-nav-heading"> <span class="devsite-nav-title" tooltip> <span class="devsite-nav-text" tooltip> Kits & more </span> </span> </li> <li class="devsite-nav-item"> <a href="/web/20231023210419/https://developer.android.com/design/ui/mobile#explore-our-kits" class="devsite-nav-title gc-analytics-event " data-category="Site-Wide Custom Events" data-label="Responsive Tab: Go to Android & Material kits" track-type="navMenu" track-metadata-eventdetail="globalMenu" track-metadata-position="nav"> <span class="devsite-nav-text" tooltip> Go to Android & Material kits </span> </a> </li> <li class="devsite-nav-item"> <a href="/web/20231023210419/https://developer.android.com/design/ui/wear#explore-our-kits" class="devsite-nav-title gc-analytics-event " data-category="Site-Wide Custom Events" data-label="Responsive Tab: Go to Wear OS kits" track-type="navMenu" track-metadata-eventdetail="globalMenu" track-metadata-position="nav"> <span class="devsite-nav-text" tooltip> Go to Wear OS kits </span> </a> </li> <li class="devsite-nav-item devsite-nav-heading"> <span class="devsite-nav-title" tooltip> <span class="devsite-nav-text" tooltip> UI Design </span> </span> </li> <li class="devsite-nav-item"> <a href="/web/20231023210419/https://developer.android.com/design/ui" class="devsite-nav-title gc-analytics-event " data-category="Site-Wide Custom Events" data-label="Responsive Tab: Design for Android" track-type="navMenu" track-metadata-eventdetail="globalMenu" track-metadata-position="nav"> <span class="devsite-nav-text" tooltip> Design for Android </span> </a> </li> <li class="devsite-nav-item"> <a href="/web/20231023210419/https://developer.android.com/design/ui/mobile" class="devsite-nav-title gc-analytics-event " data-category="Site-Wide Custom Events" data-label="Responsive Tab: Mobile" track-type="navMenu" track-metadata-eventdetail="globalMenu" track-metadata-position="nav"> <span class="devsite-nav-text" tooltip> Mobile </span> </a> </li> <li class="devsite-nav-item"> <a href="/web/20231023210419/https://developer.android.com/design/ui/large-screens" class="devsite-nav-title gc-analytics-event " data-category="Site-Wide Custom Events" data-label="Responsive Tab: Large screens (e.g. Tablets)" track-type="navMenu" track-metadata-eventdetail="globalMenu" track-metadata-position="nav"> <span class="devsite-nav-text" tooltip> Large screens (e.g. Tablets) </span> </a> </li> <li class="devsite-nav-item"> <a href="/web/20231023210419/https://developer.android.com/design/ui/wear" class="devsite-nav-title gc-analytics-event " data-category="Site-Wide Custom Events" data-label="Responsive Tab: Wear OS" track-type="navMenu" track-metadata-eventdetail="globalMenu" track-metadata-position="nav"> <span class="devsite-nav-text" tooltip> Wear OS </span> </a> </li> <li class="devsite-nav-item"> <a href="/web/20231023210419/https://developer.android.com/design/ui/tv" class="devsite-nav-title gc-analytics-event " data-category="Site-Wide Custom Events" data-label="Responsive Tab: Android TV" track-type="navMenu" track-metadata-eventdetail="globalMenu" track-metadata-position="nav"> <span class="devsite-nav-text" tooltip> Android TV </span> </a> </li> <li class="devsite-nav-item devsite-nav-heading"> <span class="devsite-nav-title" tooltip> <span class="devsite-nav-text" tooltip> Architecture </span> </span> </li> <li class="devsite-nav-item"> <a href="/web/20231023210419/https://developer.android.com/topic/architecture/intro" class="devsite-nav-title gc-analytics-event " data-category="Site-Wide Custom Events" data-label="Responsive Tab: Introduction" track-type="navMenu" track-metadata-eventdetail="globalMenu" track-metadata-position="nav"> <span class="devsite-nav-text" tooltip> Introduction </span> </a> </li> <li class="devsite-nav-item"> <a href="/web/20231023210419/https://developer.android.com/topic/libraries/view-binding" class="devsite-nav-title gc-analytics-event " data-category="Site-Wide Custom Events" data-label="Responsive Tab: Libraries" track-type="navMenu" track-metadata-eventdetail="globalMenu" track-metadata-position="nav"> <span class="devsite-nav-text" tooltip> Libraries </span> </a> </li> <li class="devsite-nav-item"> <a href="/web/20231023210419/https://developer.android.com/guide/navigation/navigation-principles" class="devsite-nav-title gc-analytics-event " data-category="Site-Wide Custom Events" data-label="Responsive Tab: Navigation" track-type="navMenu" track-metadata-eventdetail="globalMenu" track-metadata-position="nav"> <span class="devsite-nav-text" tooltip> Navigation </span> </a> </li> <li class="devsite-nav-item"> <a href="/web/20231023210419/https://developer.android.com/topic/modularization" class="devsite-nav-title gc-analytics-event " data-category="Site-Wide Custom Events" data-label="Responsive Tab: Modularization" track-type="navMenu" track-metadata-eventdetail="globalMenu" track-metadata-position="nav"> <span class="devsite-nav-text" tooltip> Modularization </span> </a> </li> <li class="devsite-nav-item"> <a href="/web/20231023210419/https://developer.android.com/training/testing/fundamentals" class="devsite-nav-title gc-analytics-event " data-category="Site-Wide Custom Events" data-label="Responsive Tab: Testing" track-type="navMenu" track-metadata-eventdetail="globalMenu" track-metadata-position="nav"> <span class="devsite-nav-text" tooltip> Testing </span> </a> </li> <li class="devsite-nav-item devsite-nav-heading"> <span class="devsite-nav-title" tooltip> <span class="devsite-nav-text" tooltip> Quality </span> </span> </li> <li class="devsite-nav-item"> <a href="/web/20231023210419/https://developer.android.com/quality" class="devsite-nav-title gc-analytics-event " data-category="Site-Wide Custom Events" data-label="Responsive Tab: Overview" track-type="navMenu" track-metadata-eventdetail="globalMenu" track-metadata-position="nav"> <span class="devsite-nav-text" tooltip> Overview </span> </a> </li> <li class="devsite-nav-item"> <a href="/web/20231023210419/https://developer.android.com/quality/core-value" class="devsite-nav-title gc-analytics-event " data-category="Site-Wide Custom Events" data-label="Responsive Tab: Core value" track-type="navMenu" track-metadata-eventdetail="globalMenu" track-metadata-position="nav"> <span class="devsite-nav-text" tooltip> Core value </span> </a> </li> <li class="devsite-nav-item"> <a href="/web/20231023210419/https://developer.android.com/quality/user-experience" class="devsite-nav-title gc-analytics-event " data-category="Site-Wide Custom Events" data-label="Responsive Tab: User experience" track-type="navMenu" track-metadata-eventdetail="globalMenu" track-metadata-position="nav"> <span class="devsite-nav-text" tooltip> User experience </span> </a> </li> <li class="devsite-nav-item"> <a href="/web/20231023210419/https://developer.android.com/quality/technical" class="devsite-nav-title gc-analytics-event " data-category="Site-Wide Custom Events" data-label="Responsive Tab: Technical quality" track-type="navMenu" track-metadata-eventdetail="globalMenu" track-metadata-position="nav"> <span class="devsite-nav-text" tooltip> Technical quality </span> </a> </li> <li class="devsite-nav-item"> <a href="/web/20231023210419/https://developer.android.com/quality/privacy-and-security" class="devsite-nav-title gc-analytics-event " data-category="Site-Wide Custom Events" data-label="Responsive Tab: Privacy & security" track-type="navMenu" track-metadata-eventdetail="globalMenu" track-metadata-position="nav"> <span class="devsite-nav-text" tooltip> Privacy & security </span> </a> </li> <li class="devsite-nav-item devsite-nav-heading"> <span class="devsite-nav-title" tooltip> <span class="devsite-nav-text" tooltip> Build for Billions </span> </span> </li> <li class="devsite-nav-item"> <a href="/web/20231023210419/https://developer.android.com/build-for-billions" class="devsite-nav-title gc-analytics-event " data-category="Site-Wide Custom Events" data-label="Responsive Tab: Overview" track-type="navMenu" track-metadata-eventdetail="globalMenu" track-metadata-position="nav"> <span class="devsite-nav-text" tooltip> Overview </span> </a> </li> <li class="devsite-nav-item"> <a href="/web/20231023210419/https://developer.android.com/docs/quality-guidelines/build-for-billions" class="devsite-nav-title gc-analytics-event " data-category="Site-Wide Custom Events" data-label="Responsive Tab: About new markets" track-type="navMenu" track-metadata-eventdetail="globalMenu" track-metadata-position="nav"> <span class="devsite-nav-text" tooltip> About new markets </span> </a> </li> <li class="devsite-nav-item"> <a href="/web/20231023210419/https://developer.android.com/guide/topics/androidgo" class="devsite-nav-title gc-analytics-event " data-category="Site-Wide Custom Events" data-label="Responsive Tab: Android (Go edition)" track-type="navMenu" track-metadata-eventdetail="globalMenu" track-metadata-position="nav"> <span class="devsite-nav-text" tooltip> Android (Go edition) </span> </a> </li> </ul> <ul class="devsite-nav-list" menu="Develop" aria-label="Side menu" hidden> <li class="devsite-nav-item devsite-nav-heading"> <span class="devsite-nav-title" tooltip> <span class="devsite-nav-text" tooltip> Android Studio </span> </span> </li> <li class="devsite-nav-item"> <a href="/web/20231023210419/https://developer.android.com/studio" class="devsite-nav-title gc-analytics-event " data-category="Site-Wide Custom Events" data-label="Responsive Tab: Get Android Studio" track-type="navMenu" track-metadata-eventdetail="globalMenu" track-metadata-position="nav"> <span class="devsite-nav-text" tooltip> Get Android Studio </span> </a> </li> <li class="devsite-nav-item"> <a href="/web/20231023210419/https://developer.android.com/studio/write" class="devsite-nav-title gc-analytics-event " data-category="Site-Wide Custom Events" data-label="Responsive Tab: Start coding" track-type="navMenu" track-metadata-eventdetail="globalMenu" track-metadata-position="nav"> <span class="devsite-nav-text" tooltip> Start coding </span> </a> </li> <li class="devsite-nav-item devsite-nav-heading"> <span class="devsite-nav-title" tooltip> <span class="devsite-nav-text" tooltip> Core areas </span> </span> </li> <li class="devsite-nav-item"> <a href="/web/20231023210419/https://developer.android.com/develop/ui" class="devsite-nav-title gc-analytics-event " data-category="Site-Wide Custom Events" data-label="Responsive Tab: User interfaces" track-type="navMenu" track-metadata-eventdetail="globalMenu" track-metadata-position="nav"> <span class="devsite-nav-text" tooltip> User interfaces </span> </a> </li> <li class="devsite-nav-item"> <a href="/web/20231023210419/https://developer.android.com/guide/topics/permissions/overview" class="devsite-nav-title gc-analytics-event " data-category="Site-Wide Custom Events" data-label="Responsive Tab: Permissions" track-type="navMenu" track-metadata-eventdetail="globalMenu" track-metadata-position="nav"> <span class="devsite-nav-text" tooltip> Permissions </span> </a> </li> <li class="devsite-nav-item"> <a href="/web/20231023210419/https://developer.android.com/guide/background" class="devsite-nav-title gc-analytics-event " data-category="Site-Wide Custom Events" data-label="Responsive Tab: Background work" track-type="navMenu" track-metadata-eventdetail="globalMenu" track-metadata-position="nav"> <span class="devsite-nav-text" tooltip> Background work </span> </a> </li> <li class="devsite-nav-item"> <a href="/web/20231023210419/https://developer.android.com/guide/topics/data" class="devsite-nav-title gc-analytics-event " data-category="Site-Wide Custom Events" data-label="Responsive Tab: Data and files" track-type="navMenu" track-metadata-eventdetail="globalMenu" track-metadata-position="nav"> <span class="devsite-nav-text" tooltip> Data and files </span> </a> </li> <li class="devsite-nav-item"> <a href="/web/20231023210419/https://developer.android.com/training/sign-in" class="devsite-nav-title gc-analytics-event " data-category="Site-Wide Custom Events" data-label="Responsive Tab: User identity" track-type="navMenu" track-metadata-eventdetail="globalMenu" track-metadata-position="nav"> <span class="devsite-nav-text" tooltip> User identity </span> </a> </li> <li class="devsite-nav-item"> <a href="/web/20231023210419/https://developer.android.com/training/camera/choose-camera-library" class="devsite-nav-title gc-analytics-event " data-category="Site-Wide Custom Events" data-label="Responsive Tab: Camera" track-type="navMenu" track-metadata-eventdetail="globalMenu" track-metadata-position="nav"> <span class="devsite-nav-text" tooltip> Camera </span> </a> </li> <li class="devsite-nav-item"> <a href="/web/20231023210419/https://developer.android.com/develop#core-areas" class="devsite-nav-title gc-analytics-event " data-category="Site-Wide Custom Events" data-label="Responsive Tab: All core areas ⤵️" track-type="navMenu" track-metadata-eventdetail="globalMenu" track-metadata-position="nav"> <span class="devsite-nav-text" tooltip> All core areas ⤵️ </span> </a> </li> <li class="devsite-nav-item devsite-nav-heading"> <span class="devsite-nav-title" tooltip> <span class="devsite-nav-text" tooltip> Tools and workflow </span> </span> </li> <li class="devsite-nav-item"> <a href="/web/20231023210419/https://developer.android.com/studio/write" class="devsite-nav-title gc-analytics-event " data-category="Site-Wide Custom Events" data-label="Responsive Tab: Write and debug code" track-type="navMenu" track-metadata-eventdetail="globalMenu" track-metadata-position="nav"> <span class="devsite-nav-text" tooltip> Write and debug code </span> </a> </li> <li class="devsite-nav-item"> <a href="/web/20231023210419/https://developer.android.com/build" class="devsite-nav-title gc-analytics-event " data-category="Site-Wide Custom Events" data-label="Responsive Tab: Build projects" track-type="navMenu" track-metadata-eventdetail="globalMenu" track-metadata-position="nav"> <span class="devsite-nav-text" tooltip> Build projects </span> </a> </li> <li class="devsite-nav-item"> <a href="/web/20231023210419/https://developer.android.com/training/testing" class="devsite-nav-title gc-analytics-event " data-category="Site-Wide Custom Events" data-label="Responsive Tab: Test your app" track-type="navMenu" track-metadata-eventdetail="globalMenu" track-metadata-position="nav"> <span class="devsite-nav-text" tooltip> Test your app </span> </a> </li> <li class="devsite-nav-item"> <a href="/web/20231023210419/https://developer.android.com/topic/performance/overview" class="devsite-nav-title gc-analytics-event " data-category="Site-Wide Custom Events" data-label="Responsive Tab: Performance" track-type="navMenu" track-metadata-eventdetail="globalMenu" track-metadata-position="nav"> <span class="devsite-nav-text" tooltip> Performance </span> </a> </li> <li class="devsite-nav-item"> <a href="/web/20231023210419/https://developer.android.com/tools" class="devsite-nav-title gc-analytics-event " data-category="Site-Wide Custom Events" data-label="Responsive Tab: Command-line tools" track-type="navMenu" track-metadata-eventdetail="globalMenu" track-metadata-position="nav"> <span class="devsite-nav-text" tooltip> Command-line tools </span> </a> </li> <li class="devsite-nav-item"> <a href="/web/20231023210419/https://developer.android.com/reference/tools/gradle-api" class="devsite-nav-title gc-analytics-event " data-category="Site-Wide Custom Events" data-label="Responsive Tab: Gradle plugin API" track-type="navMenu" track-metadata-eventdetail="globalMenu" track-metadata-position="nav"> <span class="devsite-nav-text" tooltip> Gradle plugin API </span> </a> </li> <li class="devsite-nav-item devsite-nav-heading"> <span class="devsite-nav-title" tooltip> <span class="devsite-nav-text" tooltip> Devices </span> </span> </li> <li class="devsite-nav-item"> <a href="/web/20231023210419/https://developer.android.com/guide/topics/large-screens/get-started-with-large-screens" class="devsite-nav-title gc-analytics-event " data-category="Site-Wide Custom Events" data-label="Responsive Tab: Large screens (e.g. Tablets)" track-type="navMenu" track-metadata-eventdetail="globalMenu" track-metadata-position="nav"> <span class="devsite-nav-text" tooltip> Large screens (e.g. Tablets) </span> </a> </li> <li class="devsite-nav-item"> <a href="/web/20231023210419/https://developer.android.com/training/wearables" class="devsite-nav-title gc-analytics-event " data-category="Site-Wide Custom Events" data-label="Responsive Tab: Wear OS" track-type="navMenu" track-metadata-eventdetail="globalMenu" track-metadata-position="nav"> <span class="devsite-nav-text" tooltip> Wear OS </span> </a> </li> <li class="devsite-nav-item"> <a href="/web/20231023210419/https://developer.android.com/training/cars" class="devsite-nav-title gc-analytics-event " data-category="Site-Wide Custom Events" data-label="Responsive Tab: Android for Cars" track-type="navMenu" track-metadata-eventdetail="globalMenu" track-metadata-position="nav"> <span class="devsite-nav-text" tooltip> Android for Cars </span> </a> </li> <li class="devsite-nav-item"> <a href="/web/20231023210419/https://developer.android.com/training/tv" class="devsite-nav-title gc-analytics-event " data-category="Site-Wide Custom Events" data-label="Responsive Tab: Android TV" track-type="navMenu" track-metadata-eventdetail="globalMenu" track-metadata-position="nav"> <span class="devsite-nav-text" tooltip> Android TV </span> </a> </li> <li class="devsite-nav-item"> <a href="/web/20231023210419/https://developer.android.com/chrome-os/intro" class="devsite-nav-title gc-analytics-event " data-category="Site-Wide Custom Events" data-label="Responsive Tab: ChromeOS" track-type="navMenu" track-metadata-eventdetail="globalMenu" track-metadata-position="nav"> <span class="devsite-nav-text" tooltip> ChromeOS </span> </a> </li> <li class="devsite-nav-item devsite-nav-heading"> <span class="devsite-nav-title" tooltip> <span class="devsite-nav-text" tooltip> Libraries </span> </span> </li> <li class="devsite-nav-item"> <a href="/web/20231023210419/https://developer.android.com/reference/packages" class="devsite-nav-title gc-analytics-event " data-category="Site-Wide Custom Events" data-label="Responsive Tab: Android platform" track-type="navMenu" track-metadata-eventdetail="globalMenu" track-metadata-position="nav"> <span class="devsite-nav-text" tooltip> Android platform </span> </a> </li> <li class="devsite-nav-item"> <a href="/web/20231023210419/https://developer.android.com/jetpack/androidx/explorer" class="devsite-nav-title gc-analytics-event " data-category="Site-Wide Custom Events" data-label="Responsive Tab: Jetpack libraries" track-type="navMenu" track-metadata-eventdetail="globalMenu" track-metadata-position="nav"> <span class="devsite-nav-text" tooltip> Jetpack libraries </span> </a> </li> <li class="devsite-nav-item"> <a href="/web/20231023210419/https://developer.android.com/jetpack/androidx/releases/compose" class="devsite-nav-title gc-analytics-event " data-category="Site-Wide Custom Events" data-label="Responsive Tab: Compose libraries" track-type="navMenu" track-metadata-eventdetail="globalMenu" track-metadata-position="nav"> <span class="devsite-nav-text" tooltip> Compose libraries </span> </a> </li> <li class="devsite-nav-item"> <a href="http://web.archive.org/web/20231023210419/https://developers.google.com/android/reference/packages" class="devsite-nav-title gc-analytics-event " data-category="Site-Wide Custom Events" data-label="Responsive Tab: Google Play services ↗️" track-type="navMenu" track-metadata-eventdetail="globalMenu" track-metadata-position="nav"> <span class="devsite-nav-text" tooltip> Google Play services ↗️ </span> </a> </li> <li class="devsite-nav-item"> <a href="http://web.archive.org/web/20231023210419/https://play.google.com/sdks" class="devsite-nav-title gc-analytics-event " data-category="Site-Wide Custom Events" data-label="Responsive Tab: Google Play SDK index ↗️" track-type="navMenu" track-metadata-eventdetail="globalMenu" track-metadata-position="nav"> <span class="devsite-nav-text" tooltip> Google Play SDK index ↗️ </span> </a> </li> </ul> </div> </div> </nav> </devsite-book-nav> <section id="gc-wrapper"> <main role="main" class="devsite-main-content" has-book-nav has-sidebar> <div class="devsite-sidebar"> <div class="devsite-sidebar-content"> <devsite-toc class="devsite-nav" role="navigation" aria-label="On this page" depth="2" scrollbars></devsite-toc> <devsite-recommendations-sidebar class="nocontent devsite-nav"> </devsite-recommendations-sidebar> </div> </div> <devsite-content> <article class="devsite-article"> <div class="devsite-article-meta nocontent" role="navigation"> <ul class="devsite-breadcrumb-list" aria-label="Breadcrumb"> <li class="devsite-breadcrumb-item "> <a href="http://web.archive.org/web/20231023210419/https://developer.android.com/" class="devsite-breadcrumb-link gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Breadcrumbs" data-value="1" track-type="globalNav" track-name="breadcrumb" track-metadata-position="1" track-metadata-eventdetail="Android Developers"> Android Developers </a> </li> <li class="devsite-breadcrumb-item "> <div class="devsite-breadcrumb-guillemet material-icons" aria-hidden="true"></div> <a href="http://web.archive.org/web/20231023210419/https://developer.android.com/develop" class="devsite-breadcrumb-link gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Breadcrumbs" data-value="2" track-type="globalNav" track-name="breadcrumb" track-metadata-position="2" track-metadata-eventdetail=""> Develop </a> </li> <li class="devsite-breadcrumb-item "> <div class="devsite-breadcrumb-guillemet material-icons" aria-hidden="true"></div> <a href="http://web.archive.org/web/20231023210419/https://developer.android.com/guide" class="devsite-breadcrumb-link gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Breadcrumbs" data-value="3" track-type="globalNav" track-name="breadcrumb" track-metadata-position="3" track-metadata-eventdetail=""> Guides </a> </li> </ul> <devsite-thumb-rating position="header"> </devsite-thumb-rating> </div> <h1 class="devsite-page-title">Get started with tiles</h1><devsite-feature-tooltip ack-key="AckCollectionsBookmarkTooltipDismiss" analytics-category="Site-Wide Custom Events" analytics-action-show="Callout Profile displayed" analytics-action-close="Callout Profile dismissed" analytics-label="Create Collection Callout" class="devsite-page-bookmark-tooltip nocontent" dismiss-button="true" id="devsite-collections-dropdown" dismiss-button-text="Dismiss" close-button-text="Got it"> <devsite-bookmark></devsite-bookmark> <span slot="popout-heading"> Stay organized with collections </span> <span slot="popout-contents"> Save and categorize content based on your preferences. </span> </devsite-feature-tooltip> <devsite-toc class="devsite-nav" depth="2" devsite-toc-embedded> </devsite-toc> <devsite-recommendations-dropdown class="nocontent"></devsite-recommendations-dropdown> <div class="devsite-article-body clearfix "> <p>To start providing tiles from your app, include the following dependencies in your app's <code translate="no" dir="ltr">build.gradle</code> file.</p> <div> <div class="ds-selector-tabs"><section><h3 id="groovy" data-text="Groovy">Groovy</h3> <pre class="prettyprint lang-groovy" translate="no" dir="ltr"> dependencies { // Use to implement support for wear tiles implementation "androidx.wear.tiles:tiles:1.3.0-alpha01" // Use to utilize standard components and layouts in your tiles implementation "androidx.wear.protolayout:protolayout:1.1.0-alpha01" // Use to utilize components and layouts with Material Design in your tiles implementation "androidx.wear.protolayout:protolayout-material:1.1.0-alpha01" // Use to include dynamic expressions in your tiles implementation "androidx.wear.protolayout:protolayout-expression:1.1.0-alpha01" // Use to preview wear tiles in your own app debugImplementation "androidx.wear.tiles:tiles-renderer:1.3.0-alpha01" // Use to fetch tiles from a tile provider in your tests testImplementation "androidx.wear.tiles:tiles-testing:1.3.0-alpha01" } </pre> </section><section><h3 id="kts" data-text="Kotlin">Kotlin</h3> <pre class="prettyprint lang-kotlin" translate="no" dir="ltr"> dependencies { // Use to implement support for wear tiles implementation("androidx.wear.tiles:tiles:1.3.0-alpha01") // Use to utilize standard components and layouts in your tiles implementation("androidx.wear.protolayout:protolayout:1.1.0-alpha01") // Use to utilize components and layouts with Material Design in your tiles implementation("androidx.wear.protolayout:protolayout-material:1.1.0-alpha01") // Use to include dynamic expressions in your tiles implementation("androidx.wear.protolayout:protolayout-expression:1.1.0-alpha01") // Use to preview wear tiles in your own app debugImplementation("androidx.wear.tiles:tiles-renderer:1.3.0-alpha01") // Use to fetch tiles from a tile provider in your tests testImplementation("androidx.wear.tiles:tiles-testing:1.3.0-alpha01") } </pre> </section></div> </div> <aside class="note"><strong>Note:</strong><span> This API is asynchronous and relies on <code translate="no" dir="ltr">ListenableFuture</code> extensively. See <a href="/web/20231023210419/https://developer.android.com/guide/background/asynchronous/listenablefuture">Use ListenableFuture</a> for more information about this concept.</span></aside> <h2 id="create_a_tile" data-text="Create a tile">Create a tile</h2> <p>To provide a tile from your application, create a class that extends <code translate="no" dir="ltr">TileService</code> and implement the methods, as shown in the following code sample:</p> <div> <div class="ds-selector-tabs"><section><h3 id="kotlin" data-text="Kotlin">Kotlin</h3> <pre class="prettyprint lang-kotlin" translate="no" dir="ltr"> // Uses the ProtoLayout namespace for tile timeline objects. // If you haven't done so already, <a href="/web/20231023210419/https://developer.android.com/training/wearables/tiles/migrate-to-protolayout">migrate to the ProtoLayout namespace</a>. import androidx.wear.protolayout.TimelineBuilders.Timeline import androidx.wear.protolayout.material.Text import androidx.wear.tiles.TileBuilders.Tile private val RESOURCES_VERSION = "1" class MyTileService : TileService() { override fun onTileRequest(requestParams: RequestBuilders.TileRequest) = Futures.immediateFuture(Tile.Builder() .setResourcesVersion(RESOURCES_VERSION) .setTileTimeline( Timeline.fromLayoutElement( Text.Builder(this, "Hello world!") .setTypography(Typography.TYPOGRAPHY_DISPLAY1) .setColor(argb(0xFF000000.toInt())) .build())) .build()) override fun onTileResourcesRequest(requestParams: ResourcesRequest) = Futures.immediateFuture(Resources.Builder() .setVersion(RESOURCES_VERSION) .build() ) } </pre> </section><section><h3 id="java" data-text="Java">Java</h3> <pre class="prettyprint lang-java" translate="no" dir="ltr"> // Uses the ProtoLayout namespace for tile timeline objects. // If you haven't done so already, <a href="/web/20231023210419/https://developer.android.com/training/wearables/tiles/migrate-to-protolayout">migrate to the ProtoLayout namespace</a>. import androidx.wear.protolayout.TimelineBuilders.Timeline; import androidx.wear.protolayout.material.Text; import androidx.wear.tiles.TileBuilders.Tile; public class MyTileService extends TileService { private static final String RESOURCES_VERSION = "1"; @NonNull @Override protected ListenableFuture<Tile> onTileRequest( @NonNull TileRequest requestParams ) { return Futures.immediateFuture(new Tile.Builder() .setResourcesVersion(RESOURCES_VERSION) .setTileTimeline( Timeline.fromLayoutElement( new Text.Builder(this, "Hello world!") .setTypography(Typography.TYPOGRAPHY_DISPLAY1) .setColor(ColorBuilders.argb(0xFF000000)) .build())) .build() ); } @NonNull @Override protected ListenableFuture<Resources> onTileResourcesRequest( @NonNull ResourcesRequest requestParams ) { return Futures.immediateFuture(new Resources.Builder() .setVersion(RESOURCES_VERSION) .build() ); } } </pre> </section></div> </div> <p>Next, add a service inside the <code translate="no" dir="ltr"><application></code> tag of your <code translate="no" dir="ltr">AndroidManifest.xml</code> file.</p> <pre class="prettyprint lang-xml" translate="no" dir="ltr"><service android:name=".MyTileService" android:label="@string/tile_label" android:description="@string/tile_description" android:icon="@drawable/tile_icon" android:roundIcon="@drawable/tile_icon_round" android:exported="true" android:permission="com.google.android.wearable.permission.BIND_TILE_PROVIDER"> <intent-filter> <action android:name="androidx.wear.tiles.action.BIND_TILE_PROVIDER" /> </intent-filter> <meta-data android:name="androidx.wear.tiles.PREVIEW" android:resource="@drawable/tile_preview" /> </service></pre> <p>The permission and intent filter register this service as a tile provider.</p> <p>The icon, label, and description is shown to the user when they configure tiles on their phone or watch.</p> <p>Use the preview metadata tag to show a preview of the tile when configuring it on your phone.</p> <aside class="note"><strong>Note:</strong><span> In most cases you should provide resources for both round (<code translate="no" dir="ltr">drawable-round-nodpi</code>) and square (<code translate="no" dir="ltr">drawable-notround-nodpi</code>) displays.</span></aside> <h2 id="create_ui_for_tiles" data-text="Create UI for tiles">Create UI for tiles</h2> <p>The layout of a tile is written using a builder pattern. A tile's layout is built up like a tree that consists of layout containers and basic layout elements. Each layout element has properties, which you can set through various setter methods.</p> <aside class="note"><strong>Note:</strong><span> There's a limit to the number of nested elements that can appear in a layout. If you exceed this limit, the system ignores the layout update and shows the tile in its previous state.</span></aside> <h3 id="basic_layout_elements" data-text="Basic layout elements">Basic layout elements</h3> <p>The following visual elements from the <code translate="no" dir="ltr">protolayout</code> library are supported, along with <a href="#material-components">Material components</a>:</p> <ul> <li><a href="/web/20231023210419/https://developer.android.com/reference/androidx/wear/protolayout/material/Text"><code translate="no" dir="ltr">Text</code></a>: renders a string of text, optionally wrapping.</li> <li><a href="/web/20231023210419/https://developer.android.com/reference/androidx/wear/protolayout/LayoutElementBuilders.Image"><code translate="no" dir="ltr">Image</code></a>: renders an image.</li> <li><a href="/web/20231023210419/https://developer.android.com/reference/androidx/wear/protolayout/LayoutElementBuilders.Spacer"><code translate="no" dir="ltr">Spacer</code></a>: provides padding between elements or can act as a divider when you set its background color.</li> </ul> <h3 id="material-components" data-text="Material components">Material components</h3> <p>In addition to basic elements, the <code translate="no" dir="ltr">protolayout-material</code> library provides components that ensure a tile design in line with Material Design user interface recommendations.</p> <ul> <li><a href="/web/20231023210419/https://developer.android.com/reference/androidx/wear/protolayout/material/Button"><code translate="no" dir="ltr">Button</code></a>: clickable circular component designed to contain an icon.</li> <li><p><a href="/web/20231023210419/https://developer.android.com/reference/androidx/wear/protolayout/material/Chip"><code translate="no" dir="ltr">Chip</code></a>: clickable stadium-shaped component designed to contain up to two lines of text and an optional icon.</p> <aside class="note"><strong>Note:</strong><span> If you use a <code translate="no" dir="ltr">Chip</code> element inside of a <code translate="no" dir="ltr">Column</code> element, set both elements' widths to <a href="/web/20231023210419/https://developer.android.com/reference/androidx/wear/protolayout/DimensionBuilders#expand()"><code translate="no" dir="ltr">expand()</code></a>.</span></aside></li> <li><p><a href="/web/20231023210419/https://developer.android.com/reference/androidx/wear/protolayout/material/CompactChip"><code translate="no" dir="ltr">CompactChip</code></a>: clickable stadium-shaped component designed to contain a line of text.</p></li> <li><p><a href="/web/20231023210419/https://developer.android.com/reference/androidx/wear/protolayout/material/TitleChip"><code translate="no" dir="ltr">TitleChip</code></a>: clickable stadium-shaped component similar to <code translate="no" dir="ltr">Chip</code> but with a larger height to accommodate title text.</p></li> <li><p><a href="/web/20231023210419/https://developer.android.com/reference/androidx/wear/protolayout/material/CircularProgressIndicator"><code translate="no" dir="ltr">CircularProgressIndicator</code></a>: circular progress indicator that can be placed inside a <code translate="no" dir="ltr">EdgeContentLayout</code> to display progress around the edges of the screen.</p></li> </ul> <h3 id="layout_containers" data-text="Layout containers">Layout containers</h3> <p>The following containers are supported, along with <a href="#material-layouts">Material layouts</a>:</p> <ul> <li><a href="/web/20231023210419/https://developer.android.com/reference/androidx/wear/protolayout/LayoutElementBuilders.Row"><code translate="no" dir="ltr">Row</code></a>: lays child elements out horizontally, one after another.</li> <li><a href="/web/20231023210419/https://developer.android.com/reference/androidx/wear/protolayout/LayoutElementBuilders.Column"><code translate="no" dir="ltr">Column</code></a>: lays child elements out vertically, one after another.</li> <li><a href="/web/20231023210419/https://developer.android.com/reference/androidx/wear/protolayout/LayoutElementBuilders.Box"><code translate="no" dir="ltr">Box</code></a>: overlays child elements on top of one another.</li> <li><a href="/web/20231023210419/https://developer.android.com/reference/androidx/wear/protolayout/LayoutElementBuilders.Arc"><code translate="no" dir="ltr">Arc</code></a>: lays child elements out in a circle.</li> <li><a href="/web/20231023210419/https://developer.android.com/reference/androidx/wear/protolayout/LayoutElementBuilders.Spannable"><code translate="no" dir="ltr">Spannable</code></a>: applies specific <a href="/web/20231023210419/https://developer.android.com/reference/androidx/wear/protolayout/LayoutElementBuilders.FontStyles"><code translate="no" dir="ltr">FontStyles</code></a> to sections of text along with interleaving text and images. For more information, see <a href="#spannable">Spannables</a>.</li> </ul> <p>Every container can contain one or more children, which themselves can also be containers. For example, a <code translate="no" dir="ltr">Column</code> can contain multiple <code translate="no" dir="ltr">Row</code> elements as children, resulting in a grid-like layout.</p> <p>As an example, a tile with a container layout and two child layout elements could look like this:</p> <div> <div class="ds-selector-tabs"><section><h3 id="kotlin" data-text="Kotlin">Kotlin</h3> <pre class="prettyprint lang-kotlin" translate="no" dir="ltr"> private fun myLayout(): LayoutElement = Row.Builder() .setWidth(wrap()) .setHeight(expand()) .setVerticalAlignment(VALIGN_BOTTOM) .addContent(Text.Builder() .setText("Hello world") .build() ) .addContent(Image.Builder() .setResourceId("image_id") .setWidth(dp(24f)) .setHeight(dp(24f)) .build() ).build() </pre> </section><section><h3 id="java" data-text="Java">Java</h3> <pre class="prettyprint lang-java" translate="no" dir="ltr"> private LayoutElement myLayout() { return new Row.Builder() .setWidth(wrap()) .setHeight(expand()) .setVerticalAlignment(VALIGN_BOTTOM) .addContent(new Text.Builder() .setText("Hello world") .build() ) .addContent(new Image.Builder() .setResourceId("image_id") .setWidth(dp(24f)) .setHeight(dp(24f)) .build() ).build(); } </pre> </section></div> </div> <h3 id="material-layouts" data-text="Material layouts">Material layouts</h3> <p>In addition to basic layouts, the <code translate="no" dir="ltr">protolayout-material</code> library provides a few opinionated layouts made to hold elements in specific "slots".</p> <ul> <li><p><a href="/web/20231023210419/https://developer.android.com/reference/androidx/wear/protolayout/material/layouts/PrimaryLayout"><code translate="no" dir="ltr">PrimaryLayout</code></a>: positions a single primary action <code translate="no" dir="ltr">CompactChip</code> at the bottom with the content centered above it.</p> <aside class="note"><strong>Note:</strong><span> When you use this layout, you can't call <a href="/web/20231023210419/https://developer.android.com/reference/androidx/wear/protolayout/DimensionBuilders#expand()"><code translate="no" dir="ltr">expand()</code></a>, to set the content's height. Otherwise, you might see a blank tile.<br> <br> However, you can call <code translate="no" dir="ltr">expand()</code> on the content's width to use all the space between the parent element's margins.</span></aside></li> <li><p><a href="/web/20231023210419/https://developer.android.com/reference/androidx/wear/protolayout/material/layouts/MultiSlotLayout"><code translate="no" dir="ltr">MultiSlotLayout</code></a>: positions primary and secondary labels with optional content in between and an optional <code translate="no" dir="ltr">CompactChip</code> at the bottom.</p></li> <li><p><a href="/web/20231023210419/https://developer.android.com/reference/androidx/wear/protolayout/material/layouts/MultiButtonLayout"><code translate="no" dir="ltr">MultiButtonLayout</code></a>: positions a set of buttons that are arranged according to Material guidelines.</p></li> <li><p><a href="/web/20231023210419/https://developer.android.com/reference/androidx/wear/protolayout/material/layouts/EdgeContentLayout"><code translate="no" dir="ltr">EdgeContentLayout</code></a>: positions content around the edge of a screen, such as a <code translate="no" dir="ltr">CircularProgressIndicator</code>. When using this layout, the content within it has the appropriate margins and padding applied automatically.</p></li> </ul> <h3 id="arcs" data-text="Arcs">Arcs</h3> <p>The following <code translate="no" dir="ltr">Arc</code> container children are supported:</p> <ul> <li><a href="/web/20231023210419/https://developer.android.com/reference/androidx/wear/protolayout/LayoutElementBuilders.ArcLine"><code translate="no" dir="ltr">ArcLine</code></a>: renders a curved line around the Arc.</li> <li><a href="/web/20231023210419/https://developer.android.com/reference/androidx/wear/protolayout/LayoutElementBuilders.ArcText"><code translate="no" dir="ltr">ArcText</code></a>: renders curved text in the Arc.</li> <li><a href="/web/20231023210419/https://developer.android.com/reference/androidx/wear/protolayout/LayoutElementBuilders.ArcAdapter"><code translate="no" dir="ltr">ArcAdapter</code></a>: renders a basic layout element in the arc, drawn at a tangent to the arc.</li> </ul> <aside class="note"><strong>Note:</strong><span> While an <code translate="no" dir="ltr">ArcText</code> draws curved text around the Arc, using a <code translate="no" dir="ltr">Text</code> in an <code translate="no" dir="ltr">ArcAdapter</code> draws linear text at a tangent to the arc.</span></aside> <p>For more information, see the <a href="/web/20231023210419/https://developer.android.com/reference/androidx/wear/protolayout/package-summary">reference documentation</a> for each of the element types.</p> <h3 id="modifiers" data-text="Modifiers">Modifiers</h3> <p>Every available layout element can optionally have modifiers applied to it. Use these modifiers for the following purposes:</p> <ul> <li>Change the visual appearance of the layout. For example, add a background, border, or padding to your layout element.</li> <li>Add metadata about the layout. For example, add a semantics modifier to your layout element for use with screen readers.</li> <li>Add functionality. For example, add a clickable modifier to your layout element to make your tile interactive. For more information, see <a href="/web/20231023210419/https://developer.android.com/training/wearables/tiles/interactions">Interact with tiles</a>.</li> </ul> <p>For example, we can customize the default look and metadata of an <a href="/web/20231023210419/https://developer.android.com/reference/androidx/wear/protolayout/LayoutElementBuilders.Image"><code translate="no" dir="ltr">Image</code></a>, as shown in the following code sample:</p> <div> <div class="ds-selector-tabs"><section><h3 id="kotlin" data-text="Kotlin">Kotlin</h3> <pre class="prettyprint lang-kotlin" translate="no" dir="ltr"> private fun myImage(): LayoutElement = Image.Builder() .setWidth(dp(24f)) .setHeight(dp(24f)) .setResourceId("image_id") .setModifiers(Modifiers.Builder() .setBackground(Background.Builder().setColor(argb(0xFFFF0000)).build()) .setPadding(Padding.Builder().setStart(dp(12f)).build()) .setSemantics(Semantics.builder() .setContentDescription("Image description") .build() ).build() ).build() </pre> </section><section><h3 id="java" data-text="Java">Java</h3> <pre class="prettyprint lang-java" translate="no" dir="ltr"> private LayoutElement myImage() { return new Image.Builder() .setWidth(dp(24f)) .setHeight(dp(24f)) .setResourceId("image_id") .setModifiers(new Modifiers.Builder() .setBackground(new Background.Builder().setColor(argb(0xFFFF0000)).build()) .setPadding(new Padding.Builder().setStart(dp(12f)).build()) .setSemantics(new Semantics.Builder() .setContentDescription("Image description") .build() ).build() ).build(); } </pre> </section></div> </div> <h3 id="spannable" data-text="Spannables">Spannables</h3> <p>A <code translate="no" dir="ltr">Spannable</code> is a special type of container that lays out elements similarly to text. This is useful when you want to apply a different style to only one substring in a larger block of text, something that isn't possible with the <code translate="no" dir="ltr">Text</code> element.</p> <p>A <code translate="no" dir="ltr">Spannable</code> container is filled with <a href="/web/20231023210419/https://developer.android.com/reference/androidx/wear/protolayout/LayoutElementBuilders.Span"><code translate="no" dir="ltr">Span</code></a> children. Other children, or nested <code translate="no" dir="ltr">Spannable</code> instances, aren't allowed.</p> <p>There are two types of <code translate="no" dir="ltr">Span</code> children:</p> <ul> <li><a href="/web/20231023210419/https://developer.android.com/reference/androidx/wear/protolayout/LayoutElementBuilders.SpanText"><code translate="no" dir="ltr">SpanText</code></a>: renders text with a specific style.</li> <li><a href="/web/20231023210419/https://developer.android.com/reference/androidx/wear/protolayout/LayoutElementBuilders.SpanImage"><code translate="no" dir="ltr">SpanImage</code></a>: renders an image inline with text.</li> </ul> <p>For example, you could italicize "world" in a "Hello world" tile and insert an image between the words, as shown in the following code sample:</p> <div> <div class="ds-selector-tabs"><section><h3 id="kotlin" data-text="Kotlin">Kotlin</h3> <pre class="prettyprint lang-kotlin" translate="no" dir="ltr"> private fun mySpannable(): LayoutElement = Spannable.Builder() .addSpan(SpanText.Builder() .setText("Hello ") .build() ) .addSpan(SpanImage.Builder() .setWidth(dp(24f)) .setHeight(dp(24f)) .setResourceId("image_id") .build() ) .addSpan(SpanText.Builder() .setText("world") .setFontStyle(FontStyle.Builder() .setItalic(true) .build()) .build() ).build() </pre> </section><section><h3 id="java" data-text="Java">Java</h3> <pre class="prettyprint lang-java" translate="no" dir="ltr"> private LayoutElement mySpannable() { return new Spannable.Builder() .addSpan(new SpanText.Builder() .setText("Hello ") .build() ) .addSpan(new SpanImage.Builder() .setWidth(dp(24f)) .setHeight(dp(24f)) .setResourceId("image_id") .build() ) .addSpan(new SpanText.Builder() .setText("world") .setFontStyle(newFontStyle.Builder() .setItalic(true) .build()) .build() ).build(); } </pre> </section></div> </div> <h2 id="work_with_resources" data-text="Work with resources">Work with resources</h2> <p>Tiles don't have access to any of your app's resources. This means that you can't pass an Android image ID to an <code translate="no" dir="ltr">Image</code> layout element and expect it to resolve. Instead, override the <a href="/web/20231023210419/https://developer.android.com/reference/androidx/wear/tiles/TileService#onTileResourcesRequest(androidx.wear.protolayout.RequestBuilders.ResourcesRequest)"><code translate="no" dir="ltr">onTileResourcesRequest()</code></a> method and provide any resources manually.</p> <p>There are two ways to provide images within the <code translate="no" dir="ltr">onTileResourcesRequest()</code> method:</p> <ul> <li>Provide a drawable resource using <a href="/web/20231023210419/https://developer.android.com/reference/kotlin/androidx/wear/protolayout/ResourceBuilders.ImageResource.Builder#setAndroidResourceByResId%28androidx.wear.protolayout.ResourceBuilders.AndroidImageResourceByResId%29"><code translate="no" dir="ltr">setAndroidResourceByResId()</code></a>.</li> <li>Provide a dynamic image as a <code translate="no" dir="ltr">ByteArray</code> using <a href="/web/20231023210419/https://developer.android.com/reference/kotlin/androidx/wear/protolayout/ResourceBuilders.ImageResource.Builder#setInlineResource(androidx.wear.protolayout.ResourceBuilders.InlineImageResource)"><code translate="no" dir="ltr">setInlineResource()</code></a>.</li> </ul> <div> <div class="ds-selector-tabs"><section><h3 id="kotlin" data-text="Kotlin">Kotlin</h3> <pre class="prettyprint lang-kotlin" translate="no" dir="ltr"> override fun onTileResourcesRequest( requestParams: ResourcesRequest ) = Futures.immediateFuture( Resources.Builder() .setVersion("1") .addIdToImageMapping("image_from_resource", ImageResource.Builder() .setAndroidResourceByResId(AndroidImageResourceByResId.Builder() .setResourceId(R.drawable.image_id) .build() ).build() ) .addIdToImageMapping("image_inline", ImageResource.Builder() .setInlineResource(InlineImageResource.Builder() .setData(imageAsByteArray) .setWidthPx(48) .setHeightPx(48) .setFormat(ResourceBuilders.IMAGE_FORMAT_RGB_565) .build() ).build() ).build() ) </pre> </section><section><h3 id="java" data-text="Java">Java</h3> <pre class="prettyprint lang-java" translate="no" dir="ltr"> @Override protected ListenableFuture<Resources> onTileResourcesRequest( @NonNull ResourcesRequest requestParams ) { return Futures.immediateFuture( new Resources.Builder() .setVersion("1") .addIdToImageMapping("image_from_resource", new ImageResource.Builder() .setAndroidResourceByResId(new AndroidImageResourceByResId.Builder() .setResourceId(R.drawable.image_id) .build() ).build() ) .addIdToImageMapping("image_inline", new ImageResource.Builder() .setInlineResource(new InlineImageResource.Builder() .setData(imageAsByteArray) .setWidthPx(48) .setHeightPx(48) .setFormat(ResourceBuilders.IMAGE_FORMAT_RGB_565) .build() ).build() ).build() ); } </pre> </section></div> </div> <devsite-recommendations> <h2 id="recommended_for_you" data-text="Recommended for you">Recommended for you</h2> <ul> <li>Note: link text is displayed when JavaScript is off</li> <li>[Active data and exercises][37]</li> <li>[Passive data updates][38]</li> <li>[Add a splash screen][39]</li> </ul> </devsite-recommendations> <devsite-hats-survey class="nocontent" hats-id="onAFgYxTD0kxBYCLVTd0Z41p75CM" listnr-id="5207477"></devsite-hats-survey> </div> <devsite-recommendations display="in-page" hidden yield> </devsite-recommendations> <devsite-thumb-rating position="footer"> </devsite-thumb-rating> <devsite-recommendations id="recommendations-link" yield></devsite-recommendations> </article> <devsite-content-footer class="nocontent"> <p>Content and code samples on this page are subject to the licenses described in the <a href="/web/20231023210419/https://developer.android.com/license">Content License</a>. Java and OpenJDK are trademarks or registered trademarks of Oracle and/or its affiliates.</p> <p>Last updated 2023-10-18 UTC.</p> </devsite-content-footer> <devsite-notification> </devsite-notification> <div class="devsite-content-data"> <template class="devsite-thumb-rating-down-categories"> [{ "type": "thumb-down", "id": "missingTheInformationINeed", "label":"Missing the information I need" },{ "type": "thumb-down", "id": "tooComplicatedTooManySteps", "label":"Too complicated / too many steps" },{ "type": "thumb-down", "id": "outOfDate", "label":"Out of date" },{ "type": "thumb-down", "id": "samplesCodeIssue", "label":"Samples / code issue" },{ "type": "thumb-down", "id": "otherDown", "label":"Other" }] </template> <template class="devsite-thumb-rating-up-categories"> [{ "type": "thumb-up", "id": "easyToUnderstand", "label":"Easy to understand" },{ "type": "thumb-up", "id": "solvedMyProblem", "label":"Solved my problem" },{ "type": "thumb-up", "id": "otherUp", "label":"Other" }] </template> </div> </devsite-content> </main> <devsite-footer-promos class="devsite-footer"> <nav class="devsite-footer-promos nocontent" aria-label="Promotions"> <ul class="devsite-footer-promos-list"> <li class="devsite-footer-promo"> <a href="//web.archive.org/web/20231023210419/https://x.com/AndroidDev" class="devsite-footer-promo-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Footer X Promo"> <img class="devsite-footer-promo-icon" src="/web/20231023210419im_/https://developer.android.com/_static/android/images/logo-x.svg" loading="lazy" alt="X"> X </a> <div class="devsite-footer-promo-description">Follow @AndroidDev on X</div> </li> <li class="devsite-footer-promo"> <a href="//web.archive.org/web/20231023210419/https://www.youtube.com/user/androiddevelopers" class="devsite-footer-promo-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Footer YouTube Promo"> <img class="devsite-footer-promo-icon" src="//web.archive.org/web/20231023210419im_/https://www.gstatic.com/images/icons/material/product/2x/youtube_48dp.png" loading="lazy" alt="YouTube"> YouTube </a> <div class="devsite-footer-promo-description">Check out Android Developers on YouTube</div> </li> <li class="devsite-footer-promo"> <a href="//web.archive.org/web/20231023210419/https://www.linkedin.com/showcase/androiddev" class="devsite-footer-promo-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Footer LinkedIn Promo"> <img class="devsite-footer-promo-icon" src="/web/20231023210419im_/https://developer.android.com/_static/android/images/logo-linkedin.svg" loading="lazy" alt="LinkedIn"> LinkedIn </a> <div class="devsite-footer-promo-description">Connect with the Android Developers community on LinkedIn</div> </li> </ul> </nav> </devsite-footer-promos> <devsite-footer-linkboxes class="devsite-footer"> <nav class="devsite-footer-linkboxes nocontent" aria-label="Footer links"> <ul class="devsite-footer-linkboxes-list"> <li class="devsite-footer-linkbox "> <h3 class="devsite-footer-linkbox-heading no-link">More Android</h3> <ul class="devsite-footer-linkbox-list"> <li class="devsite-footer-linkbox-item"> <a href="//web.archive.org/web/20231023210419/https://www.android.com/" class="devsite-footer-linkbox-link gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Footer Link (index 1)"> Android </a> </li> <li class="devsite-footer-linkbox-item"> <a href="//web.archive.org/web/20231023210419/https://www.android.com/enterprise/" class="devsite-footer-linkbox-link gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Footer Link (index 2)"> Android for Enterprise </a> </li> <li class="devsite-footer-linkbox-item"> <a href="//web.archive.org/web/20231023210419/https://www.android.com/security-center/" class="devsite-footer-linkbox-link gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Footer Link (index 3)"> Security </a> </li> <li class="devsite-footer-linkbox-item"> <a href="//web.archive.org/web/20231023210419/https://source.android.com/" class="devsite-footer-linkbox-link gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Footer Link (index 4)"> Source </a> </li> <li class="devsite-footer-linkbox-item"> <a href="/web/20231023210419/https://developer.android.com/news" class="devsite-footer-linkbox-link gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Footer Link (index 5)"> News </a> </li> <li class="devsite-footer-linkbox-item"> <a href="//web.archive.org/web/20231023210419/https://android-developers.googleblog.com/" class="devsite-footer-linkbox-link gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Footer Link (index 6)"> Blog </a> </li> <li class="devsite-footer-linkbox-item"> <a href="/web/20231023210419/https://developer.android.com/podcasts" class="devsite-footer-linkbox-link gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Footer Link (index 7)"> Podcasts </a> </li> </ul> </li> <li class="devsite-footer-linkbox "> <h3 class="devsite-footer-linkbox-heading no-link">Discover</h3> <ul class="devsite-footer-linkbox-list"> <li class="devsite-footer-linkbox-item"> <a href="/web/20231023210419/https://developer.android.com/games" class="devsite-footer-linkbox-link gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Footer Link (index 1)"> Gaming </a> </li> <li class="devsite-footer-linkbox-item"> <a href="/web/20231023210419/https://developer.android.com/ml" class="devsite-footer-linkbox-link gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Footer Link (index 2)"> Machine Learning </a> </li> <li class="devsite-footer-linkbox-item"> <a href="/web/20231023210419/https://developer.android.com/privacy" class="devsite-footer-linkbox-link gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Footer Link (index 3)"> Privacy </a> </li> <li class="devsite-footer-linkbox-item"> <a href="/web/20231023210419/https://developer.android.com/training/connectivity/5g" class="devsite-footer-linkbox-link gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Footer Link (index 4)"> 5G </a> </li> </ul> </li> <li class="devsite-footer-linkbox "> <h3 class="devsite-footer-linkbox-heading no-link">Android Devices</h3> <ul class="devsite-footer-linkbox-list"> <li class="devsite-footer-linkbox-item"> <a href="/web/20231023210419/https://developer.android.com/large-screens" class="devsite-footer-linkbox-link gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Footer Link (index 1)"> Large screens </a> </li> <li class="devsite-footer-linkbox-item"> <a href="/web/20231023210419/https://developer.android.com/wear" class="devsite-footer-linkbox-link gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Footer Link (index 2)"> Wear OS </a> </li> <li class="devsite-footer-linkbox-item"> <a href="/web/20231023210419/https://developer.android.com/chrome-os" class="devsite-footer-linkbox-link gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Footer Link (index 3)"> ChromeOS devices </a> </li> <li class="devsite-footer-linkbox-item"> <a href="/web/20231023210419/https://developer.android.com/cars" class="devsite-footer-linkbox-link gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Footer Link (index 4)"> Android for cars </a> </li> <li class="devsite-footer-linkbox-item"> <a href="/web/20231023210419/https://developer.android.com/things" class="devsite-footer-linkbox-link gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Footer Link (index 5)"> Android Things </a> </li> <li class="devsite-footer-linkbox-item"> <a href="/web/20231023210419/https://developer.android.com/tv" class="devsite-footer-linkbox-link gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Footer Link (index 6)"> Android TV </a> </li> </ul> </li> <li class="devsite-footer-linkbox "> <h3 class="devsite-footer-linkbox-heading no-link">Releases</h3> <ul class="devsite-footer-linkbox-list"> <li class="devsite-footer-linkbox-item"> <a href="/web/20231023210419/https://developer.android.com/about/versions/13" class="devsite-footer-linkbox-link gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Footer Link (index 1)"> Android 13 </a> </li> <li class="devsite-footer-linkbox-item"> <a href="/web/20231023210419/https://developer.android.com/about/versions/12" class="devsite-footer-linkbox-link gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Footer Link (index 2)"> Android 12 </a> </li> <li class="devsite-footer-linkbox-item"> <a href="/web/20231023210419/https://developer.android.com/about/versions/11" class="devsite-footer-linkbox-link gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Footer Link (index 3)"> Android 11 </a> </li> <li class="devsite-footer-linkbox-item"> <a href="/web/20231023210419/https://developer.android.com/about/versions/10" class="devsite-footer-linkbox-link gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Footer Link (index 4)"> Android 10 </a> </li> <li class="devsite-footer-linkbox-item"> <a href="/web/20231023210419/https://developer.android.com/about/versions/pie" class="devsite-footer-linkbox-link gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Footer Link (index 5)"> Pie </a> </li> <li class="devsite-footer-linkbox-item"> <a href="/web/20231023210419/https://developer.android.com/about/versions/oreo" class="devsite-footer-linkbox-link gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Footer Link (index 6)"> Oreo </a> </li> <li class="devsite-footer-linkbox-item"> <a href="/web/20231023210419/https://developer.android.com/about/versions/nougat" class="devsite-footer-linkbox-link gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Footer Link (index 7)"> Nougat </a> </li> </ul> </li> <li class="devsite-footer-linkbox "> <h3 class="devsite-footer-linkbox-heading no-link">Documentation and Downloads</h3> <ul class="devsite-footer-linkbox-list"> <li class="devsite-footer-linkbox-item"> <a href="/web/20231023210419/https://developer.android.com/studio/intro" class="devsite-footer-linkbox-link gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Footer Link (index 1)"> Android Studio guide </a> </li> <li class="devsite-footer-linkbox-item"> <a href="/web/20231023210419/https://developer.android.com/guide" class="devsite-footer-linkbox-link gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Footer Link (index 2)"> Developers guides </a> </li> <li class="devsite-footer-linkbox-item"> <a href="/web/20231023210419/https://developer.android.com/reference" class="devsite-footer-linkbox-link gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Footer Link (index 3)"> API reference </a> </li> <li class="devsite-footer-linkbox-item"> <a href="/web/20231023210419/https://developer.android.com/studio" class="devsite-footer-linkbox-link gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Footer Link (index 4)"> Download Studio </a> </li> <li class="devsite-footer-linkbox-item"> <a href="/web/20231023210419/https://developer.android.com/ndk" class="devsite-footer-linkbox-link gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Footer Link (index 5)"> Android NDK </a> </li> </ul> </li> <li class="devsite-footer-linkbox "> <h3 class="devsite-footer-linkbox-heading no-link">Support</h3> <ul class="devsite-footer-linkbox-list"> <li class="devsite-footer-linkbox-item"> <a href="//web.archive.org/web/20231023210419/https://issuetracker.google.com/issues/new?component=190923&template=841312" class="devsite-footer-linkbox-link gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Footer Link (index 1)"> Report platform bug </a> </li> <li class="devsite-footer-linkbox-item"> <a href="//web.archive.org/web/20231023210419/https://issuetracker.google.com/issues/new?component=192697" class="devsite-footer-linkbox-link gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Footer Link (index 2)"> Report documentation bug </a> </li> <li class="devsite-footer-linkbox-item"> <a href="//web.archive.org/web/20231023210419/https://support.google.com/googleplay/android-developer" class="devsite-footer-linkbox-link gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Footer Link (index 3)"> Google Play support </a> </li> <li class="devsite-footer-linkbox-item"> <a href="http://web.archive.org/web/20231023210419/https://g.co/userresearch/androiddeveloperfooter" class="devsite-footer-linkbox-link gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Footer Link (index 4)"> Join research studies </a> </li> </ul> </li> </ul> </nav> </devsite-footer-linkboxes> <devsite-footer-utility class="devsite-footer"> <div class="devsite-footer-utility nocontent"> <nav class="devsite-footer-sites" aria-label="Other Google Developers websites"> <a href="http://web.archive.org/web/20231023210419/https://developers.google.com/" class="devsite-footer-sites-logo-link gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Footer Google Developers Link"> <picture> <source srcset="http://web.archive.org/web/20231023210419im_/https://www.gstatic.com/devrel-devsite/prod/v89c3b644dadab0c1b29fcdfaa83db3f3db74c1887a83ba5a78318ee59aec3871/android/images/lockup-google-for-developers-dark-theme.svg" media="(prefers-color-scheme: none)" class="devsite-dark-theme" loading="lazy" alt="Google Developers"> <img class="devsite-footer-sites-logo" src="http://web.archive.org/web/20231023210419im_/https://www.gstatic.com/devrel-devsite/prod/v89c3b644dadab0c1b29fcdfaa83db3f3db74c1887a83ba5a78318ee59aec3871/android/images/lockup-google-for-developers.svg" loading="lazy" alt="Google Developers"> </picture> </a> <ul class="devsite-footer-sites-list"> <li class="devsite-footer-sites-item"> <a href="//web.archive.org/web/20231023210419/https://developer.android.com/" class="devsite-footer-sites-link gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Footer Android Link"> Android </a> </li> <li class="devsite-footer-sites-item"> <a href="//web.archive.org/web/20231023210419/https://developer.chrome.com/home" class="devsite-footer-sites-link gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Footer Chrome Link"> Chrome </a> </li> <li class="devsite-footer-sites-item"> <a href="//web.archive.org/web/20231023210419/https://firebase.google.com/" class="devsite-footer-sites-link gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Footer Firebase Link"> Firebase </a> </li> <li class="devsite-footer-sites-item"> <a href="//web.archive.org/web/20231023210419/https://cloud.google.com/" class="devsite-footer-sites-link gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Footer Google Cloud Platform Link"> Google Cloud Platform </a> </li> <li class="devsite-footer-sites-item"> <a href="//web.archive.org/web/20231023210419/https://developers.google.com/products/" class="devsite-footer-sites-link gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Footer All products Link"> All products </a> </li> </ul> </nav> <nav class="devsite-footer-utility-links" aria-label="Utility links"> <ul class="devsite-footer-utility-list"> <li class="devsite-footer-utility-item "> <a class="devsite-footer-utility-link gc-analytics-event" href="//web.archive.org/web/20231023210419/https://policies.google.com/privacy" data-category="Site-Wide Custom Events" data-label="Footer Privacy link"> Privacy </a> </li> <li class="devsite-footer-utility-item "> <a class="devsite-footer-utility-link gc-analytics-event" href="/web/20231023210419/https://developer.android.com/license" data-category="Site-Wide Custom Events" data-label="Footer License link"> License </a> </li> <li class="devsite-footer-utility-item "> <a class="devsite-footer-utility-link gc-analytics-event" href="/web/20231023210419/https://developer.android.com/distribute/marketing-tools/brand-guidelines" data-category="Site-Wide Custom Events" data-label="Footer Brand guidelines link"> Brand guidelines </a> </li> <li class="devsite-footer-utility-item devsite-footer-utility-button"> <span class="devsite-footer-utility-description">Get news and tips by email</span> <a class="devsite-footer-utility-link gc-analytics-event" href="/web/20231023210419/https://developer.android.com/updates" data-category="Site-Wide Custom Events" data-label="Footer Subscribe link"> Subscribe </a> </li> </ul> <devsite-language-selector> <ul role="presentation"> <li role="presentation"> <a role="menuitem" lang="en">English</a> </li> <li role="presentation"> <a role="menuitem" lang="id">Bahasa Indonesia</a> </li> <li role="presentation"> <a role="menuitem" lang="es_419">Español – América Latina</a> </li> <li role="presentation"> <a role="menuitem" lang="fr">Français</a> </li> <li role="presentation"> <a role="menuitem" lang="it">Italiano</a> </li> <li role="presentation"> <a role="menuitem" lang="pt_br">Português – Brasil</a> </li> <li role="presentation"> <a role="menuitem" lang="vi">Tiếng Việt</a> </li> <li role="presentation"> <a role="menuitem" lang="tr">Türkçe</a> </li> <li role="presentation"> <a role="menuitem" lang="ar">العربيّة</a> </li> <li role="presentation"> <a role="menuitem" lang="zh_cn">中文 – 简体</a> </li> <li role="presentation"> <a role="menuitem" lang="zh_tw">中文 – 繁體</a> </li> <li role="presentation"> <a role="menuitem" lang="ja">日本語</a> </li> <li role="presentation"> <a role="menuitem" lang="ko">한국어</a> </li> </ul> </devsite-language-selector> </nav> </div> </devsite-footer-utility> <devsite-panel></devsite-panel> </section></section> <devsite-sitemask></devsite-sitemask> <devsite-snackbar> </devsite-snackbar> <devsite-tooltip></devsite-tooltip> <devsite-heading-link></devsite-heading-link> <devsite-analytics analytics-iframe enable-ga4> <script type="application/json" analytics>[{"dimensions": {"dimension11": false, "dimension5": "en", "dimension1": "Signed out", "dimension4": "Android Developers", "dimension3": false, "dimension6": "en"}, "gaid": "UA-5831155-1", "metrics": {"ratings_count": "metric2", "ratings_value": "metric1"}}]</script> <script type="application/json" tag-management gtm>{"ga4": [], "ga4p": [], "gtm": ["GTM-KMSWPCJ"], "parameters": {"internalUser": "False", "language": {"machineTranslated": "False", "requested": "en", "served": "en"}, "pageType": "article", "projectName": "Android Developers", "signedIn": "False", "tenant": "android", "recommendations": {"sourcePage": "", "sourceType": 0, "sourceRank": 0, "sourceIdenticalDescriptions": 0, "sourceTitleWords": 0, "sourceDescriptionWords": 0, "experiment": ""}, "experiment": {"ids": ""}}, "tags": ["GTM-KMSWPCJ"]}</script> </devsite-analytics> <devsite-badger></devsite-badger> <android-fully-clickable target=" .android-case-study .devsite-landing-row-item, .android-grouped-resources .devsite-landing-row-item, .android-illustrated-resources-index .devsite-landing-row-item, .android-illustrated-resources-primary .devsite-landing-row-item, .android-illustrated-resources-secondary .devsite-landing-row-item, .android-illustrated-resources-secondary-small .devsite-landing-row-item, .android-illustrated-resources-tertiary .devsite-landing-row-item, .android-illustrated-resources-tertiary-small .devsite-landing-row-item, .android-promo .devsite-landing-row-item, .android-quick-link, .android-samples .devsite-card-wrapper, .fully-clickable" watch=".android-samples, devsite-content"></android-fully-clickable> <script nonce="NYabFhA/YBB2SClclV8XoCAJJxJzr8"> (function(d,e,v,s,i,t,E){d['GoogleDevelopersObject']=i; t=e.createElement(v);t.async=1;t.src=s;E=e.getElementsByTagName(v)[0]; E.parentNode.insertBefore(t,E);})(window, document, 'script', 'http://web.archive.org/web/20231023210419/https://www.gstatic.com/devrel-devsite/prod/v89c3b644dadab0c1b29fcdfaa83db3f3db74c1887a83ba5a78318ee59aec3871/android/js/app_loader.js', '[3,"en",null,"/js/devsite_app_module.js","http://web.archive.org/web/20231023210419/https://www.gstatic.com/devrel-devsite/prod/v89c3b644dadab0c1b29fcdfaa83db3f3db74c1887a83ba5a78318ee59aec3871","http://web.archive.org/web/20231023210419/https://www.gstatic.com/devrel-devsite/prod/v89c3b644dadab0c1b29fcdfaa83db3f3db74c1887a83ba5a78318ee59aec3871/android","http://web.archive.org/web/20231023210419/https://android-dot-devsite-v2-prod.appspot.com",null,null,["/_pwa/android/manifest.json","http://web.archive.org/web/20231023210419/https://www.gstatic.com/devrel-devsite/prod/v89c3b644dadab0c1b29fcdfaa83db3f3db74c1887a83ba5a78318ee59aec3871/images/video-placeholder.svg","http://web.archive.org/web/20231023210419/https://www.gstatic.com/devrel-devsite/prod/v89c3b644dadab0c1b29fcdfaa83db3f3db74c1887a83ba5a78318ee59aec3871/android/images/rebrand/favicon.svg","http://web.archive.org/web/20231023210419/https://www.gstatic.com/devrel-devsite/prod/v89c3b644dadab0c1b29fcdfaa83db3f3db74c1887a83ba5a78318ee59aec3871/android/images/rebrand/lockup.svg","http://web.archive.org/web/20231023210419/https://fonts.googleapis.com/css?family=Google+Sans:400,500,600,700|Google+Sans+Text:400,400italic,500,500italic,600,600italic,700,700italic|Roboto+Mono:400,500,700&display=swap"],1,null,[1,6,8,12,14,17,21,25,40,50,52,63,70,75,76,80,87,91,92,93,97,98,100,101,102,103,104,105,107,108,109,110,111,112,113,115,117,118,120,122,124,125,126,127,129,130,131,132,133,134,135,136,138,140,141,144,147,148,149,150,151,152,154,155,156,157,158,159,161,163,164,165,168,169,170,172,173,179,180,182,183,186,190,191,193,196],"AIzaSyAP-jjEJBzmIyKR4F-3XITp8yM9T1gEEI8","AIzaSyB6xiKGDR5O3Ak2okS4rLkauxGUG7XP0hg","developer.android.com","AIzaSyAQk0fBONSGUqCNznf6Krs82Ap1-NV6J4o","AIzaSyCCxcqdrZ_7QMeLCRY20bh_SXdAYqy70KY",null,null,null,["MiscFeatureFlags__enable_tls_version_for_gaia_calls","Localization__enable_locale_redirects","Search__enable_faceted_search","Significatio__enable_footprints","Significatio__enable_experiment_id_caching","Profiles__require_profile_eligibility_for_signin","MiscFeatureFlags__devpanel_url","Cloud__enable_cloudx_ping","Profiles__enable_developer_profiles_interests","Cloud__enable_cloud_shell","Rebranding__enable_rebranding","MiscFeatureFlags__developers_footer_image","Badges__enable_hide_badges","MiscFeatureFlags__developers_footer_dark_image","Profiles__enable_profile_notifications_ui","MiscFeatureFlags__enable_firebase_utm","Search__enable_page_map","Search__enable_acl_suggestions","MiscFeatureFlags__emergency_css","Cloud__enable_cloud_dlp_service","Significatio__enable_by_tenant","Profiles__enable_searchable_interests","MiscFeatureFlags__content_publisher_push_queue","Search__enable_dynamic_content_confidential_banner","Search__enable_devsite_serp","AuthorPageInsights__enable_author_page_insights","Concierge__enable_pushui","ContentExcellence__enable_googler_button","Badges__enable_drag_and_drop_badges","Profiles__enable_developer_profiles_dashboard_recommendations","Cloud__enable_cloudx_experiment_ids","Profiles__enable_developer_profiles_callout","Cloud__enable_cloud_facet_chat","ContentExcellence__enable_verified_date","Profiles__enable_public_developer_profiles","Profiles__enable_suggested_interests","Experiments__enable_experiments","Experiments__reqs_query_experiments","Search__enable_suggestions_from_borg","Profiles__enable_profile_communities","Cloud__enable_cloud_shell_fte_user_flow","Analytics__enable_ga4_analytics","BookNav__enable_book_nav_filtering","BookNav__enable_collapsible_book_nav","SignIn__enable_auto_signin_oauth","Profiles__enable_awarding_url","Profiles__enable_profile_collections","Cloud__enable_free_trial_server_call","Badges__enable_delete_badges","Profiles__enable_page_saving","OpenInReplit__enable_replit"],null,null,"AIzaSyBLEMok-5suZ67qRPzx0qUtbnLmyT_kCVE","http://web.archive.org/web/20231023210419/https://developerscontentserving-pa.googleapis.com","AIzaSyCM4QpTRSqP5qI4Dvjt4OAScIN8sOUlO-k","http://web.archive.org/web/20231023210419/https://developerscontentsearch-pa.googleapis.com",2]') </script> <devsite-a11y-announce></devsite-a11y-announce> </body> </html><!-- FILE ARCHIVED ON 21:04:19 Oct 23, 2023 AND RETRIEVED FROM THE INTERNET ARCHIVE ON 07:38:45 Nov 30, 2024. JAVASCRIPT APPENDED BY WAYBACK MACHINE, COPYRIGHT INTERNET ARCHIVE. ALL OTHER CONTENT MAY ALSO BE PROTECTED BY COPYRIGHT (17 U.S.C. SECTION 108(a)(3)). --> <!-- playback timings (ms): captures_list: 1.059 exclusion.robots: 0.078 exclusion.robots.policy: 0.063 esindex: 0.022 cdx.remote: 16.419 LoadShardBlock: 220.935 (3) PetaboxLoader3.datanode: 210.585 (4) PetaboxLoader3.resolve: 199.891 (2) load_resource: 270.237 -->