CINXE.COM
VLC optimizes its Android app for immersive video experiences on larger screens | 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("https://web.archive.org/web"); __wm.wombat("https://developer.android.com/stories/apps/vlc","20230520235245","https://web.archive.org/","web","/_static/", "1684626765"); </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/20230520235245/https://developer.android.com/_pwa/android/manifest.json" crossorigin="use-credentials"> <link rel="preconnect" href="//web.archive.org/web/20230520235245/https://www.gstatic.com/" crossorigin> <link rel="preconnect" href="//web.archive.org/web/20230520235245/https://fonts.gstatic.com/" crossorigin> <link rel="preconnect" href="//web.archive.org/web/20230520235245/https://fonts.googleapis.com/" crossorigin> <link rel="preconnect" href="//web.archive.org/web/20230520235245/https://apis.google.com/" crossorigin> <link rel="preconnect" href="//web.archive.org/web/20230520235245/https://www.google-analytics.com/" crossorigin><link rel="stylesheet" href="//web.archive.org/web/20230520235245cs_/https://fonts.googleapis.com/css?family=Roboto:300,400,400italic,500,500italic,700,700italic|Roboto+Mono:400,500,700&display=swap"> <link rel="stylesheet" href="//web.archive.org/web/20230520235245cs_/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="https://web.archive.org/web/20230520235245cs_/https://www.gstatic.com/devrel-devsite/prod/v693c51561ffcdff9e6200b7e4cd9c2bdcde516af6b265b56d58924d489006b90/android/css/app.css"> <link rel="shortcut icon" href="https://web.archive.org/web/20230520235245im_/https://www.gstatic.com/devrel-devsite/prod/v693c51561ffcdff9e6200b7e4cd9c2bdcde516af6b265b56d58924d489006b90/android/images/favicon.png"> <link rel="apple-touch-icon" href="https://web.archive.org/web/20230520235245im_/https://www.gstatic.com/devrel-devsite/prod/v693c51561ffcdff9e6200b7e4cd9c2bdcde516af6b265b56d58924d489006b90/android/images/touchicon-180.png"><link rel="canonical" href="https://web.archive.org/web/20230520235245/https://developer.android.com/stories/apps/vlc"><link rel="search" type="application/opensearchdescription+xml" title="Android Developers" href="https://web.archive.org/web/20230520235245/https://developer.android.com/s/opensearch.xml"> <link rel="alternate" hreflang="en" href="https://web.archive.org/web/20230520235245/https://developer.android.com/stories/apps/vlc"/><link rel="alternate" hreflang="x-default" href="https://web.archive.org/web/20230520235245/https://developer.android.com/stories/apps/vlc"/><link rel="alternate" hreflang="zh-Hans" href="https://web.archive.org/web/20230520235245/https://developer.android.com/stories/apps/vlc?hl=zh-cn"/><link rel="alternate" hreflang="id" href="https://web.archive.org/web/20230520235245/https://developer.android.com/stories/apps/vlc?hl=id"/><link rel="alternate" hreflang="ja" href="https://web.archive.org/web/20230520235245/https://developer.android.com/stories/apps/vlc?hl=ja"/><link rel="alternate" hreflang="ko" href="https://web.archive.org/web/20230520235245/https://developer.android.com/stories/apps/vlc?hl=ko"/><link rel="alternate" hreflang="pt-BR" href="https://web.archive.org/web/20230520235245/https://developer.android.com/stories/apps/vlc?hl=pt-br"/><link rel="alternate" hreflang="es-419" href="https://web.archive.org/web/20230520235245/https://developer.android.com/stories/apps/vlc?hl=es-419"/><title>VLC optimizes its Android app for immersive video experiences on larger screens | Android Developers</title> <meta property="og:title" content="VLC optimizes its Android app for immersive video experiences on larger screens | Android Developers"><meta property="og:url" content="https://web.archive.org/web/20230520235245/https://developer.android.com/stories/apps/vlc"><meta property="og:image" content="https://web.archive.org/web/20230520235245im_/https://developer.android.com/static/stories/apps/images/cards/distribute/stories/vlc-icon.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": "https://web.archive.org/web/20230520235245/https://schema.org", "@type": "Article", "headline": "VLC optimizes its Android app for immersive video experiences on larger screens" } </script><script type="application/ld+json"> { "@context": "https://web.archive.org/web/20230520235245/https://schema.org", "@type": "BreadcrumbList", "itemListElement": [{ "@type": "ListItem", "position": 1, "name": "Android Developers", "item": "https://web.archive.org/web/20230520235245/https://developer.android.com/stories" },{ "@type": "ListItem", "position": 2, "name": "VLC optimizes its Android app for immersive video experiences on larger screens", "item": "https://web.archive.org/web/20230520235245/https://developer.android.com/stories/apps/vlc" }] } </script> <link rel="stylesheet" href="/web/20230520235245cs_/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> <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/20230520235245/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="https://web.archive.org/web/20230520235245im_/https://www.gstatic.com/devrel-devsite/prod/v693c51561ffcdff9e6200b7e4cd9c2bdcde516af6b265b56d58924d489006b90/android/images/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 active> <a href="https://web.archive.org/web/20230520235245/https://developer.android.com/about#developer-stories" track-metadata-eventdetail="https://developer.android.com/about#developer-stories" class="devsite-tabs-content gc-analytics-event " track-type="nav" track-metadata-position="nav - platform" track-metadata-module="primary nav" aria-label="Platform, selected" data-category="Site-Wide Custom Events" data-label="Tab: Platform" track-name="platform"> Platform </a> </tab> <tab dropdown dropdown-full> <a href="https://web.archive.org/web/20230520235245/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="https://web.archive.org/web/20230520235245/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="https://web.archive.org/web/20230520235245/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-ui-design"> <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="https://web.archive.org/web/20230520235245/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="https://web.archive.org/web/20230520235245/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="https://web.archive.org/web/20230520235245/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 </div> </a> </li> <li class="devsite-nav-item"> <a href="https://web.archive.org/web/20230520235245/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="https://web.archive.org/web/20230520235245/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"> 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-2"> <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="https://web.archive.org/web/20230520235245/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="https://web.archive.org/web/20230520235245/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="https://web.archive.org/web/20230520235245/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="https://web.archive.org/web/20230520235245/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="https://web.archive.org/web/20230520235245/https://developer.android.com/training/testing" track-type="nav" track-metadata-eventdetail="https://developer.android.com/training/testing" 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-quality"> <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="https://web.archive.org/web/20230520235245/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="https://web.archive.org/web/20230520235245/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="https://web.archive.org/web/20230520235245/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="https://web.archive.org/web/20230520235245/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="https://web.archive.org/web/20230520235245/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-build-for-billions"> <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="https://web.archive.org/web/20230520235245/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="https://web.archive.org/web/20230520235245/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="https://web.archive.org/web/20230520235245/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> <a href="https://web.archive.org/web/20230520235245/https://developer.android.com/multidevice" track-metadata-eventdetail="https://developer.android.com/multidevice" class="devsite-tabs-content gc-analytics-event " track-type="nav" track-metadata-position="nav - multidevice" track-metadata-module="primary nav" data-category="Site-Wide Custom Events" data-label="Tab: Multidevice" track-name="multidevice"> Multidevice </a> </tab> <tab> <a href="https://web.archive.org/web/20230520235245/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> <tab> <a href="https://web.archive.org/web/20230520235245/https://developer.android.com/jetpack" track-metadata-eventdetail="https://developer.android.com/jetpack" class="devsite-tabs-content gc-analytics-event " track-type="nav" track-metadata-position="nav - jetpack" track-metadata-module="primary nav" data-category="Site-Wide Custom Events" data-label="Tab: Jetpack" track-name="jetpack"> Jetpack </a> </tab> <tab> <a href="https://web.archive.org/web/20230520235245/https://developer.android.com/kotlin" track-metadata-eventdetail="https://developer.android.com/kotlin" class="devsite-tabs-content gc-analytics-event " track-type="nav" track-metadata-position="nav - kotlin" track-metadata-module="primary nav" data-category="Site-Wide Custom Events" data-label="Tab: Kotlin" track-name="kotlin"> Kotlin </a> </tab> <tab> <a href="https://web.archive.org/web/20230520235245/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 - docs" track-metadata-module="primary nav" data-category="Site-Wide Custom Events" data-label="Tab: Docs" track-name="docs"> Docs </a> </tab> <tab> <a href="https://web.archive.org/web/20230520235245/https://developer.android.com/games" track-metadata-eventdetail="https://developer.android.com/games" class="devsite-tabs-content gc-analytics-event " track-type="nav" track-metadata-position="nav - games" track-metadata-module="primary nav" data-category="Site-Wide Custom Events" data-label="Tab: Games" track-name="games"> Games </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="https://web.archive.org/web/20230520235245/https://developer.android.com/s/results" method="GET"> <div class="devsite-search-container"> <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> <button type="button" search-open class="devsite-search-button devsite-header-icon-button button-flat material-icons" aria-label="Open search"></button> </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="pt_br">Português – Brasil</a> </li> <li role="presentation"> <a role="menuitem" lang="zh_cn">中文 – 简体</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="https://web.archive.org/web/20230520235245/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 devsite-header-no-lower-tabs "> <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="https://web.archive.org/web/20230520235245/https://developer.android.com/about#developer-stories" 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=""> Developer stories </a> </li> </ul> </div> </div> </div> </div> </div> </devsite-header> <devsite-book-nav scrollbars> <div class="devsite-book-nav-filter "> <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> <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/20230520235245/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="https://web.archive.org/web/20230520235245im_/https://www.gstatic.com/devrel-devsite/prod/v693c51561ffcdff9e6200b7e4cd9c2bdcde516af6b265b56d58924d489006b90/android/images/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-wrapper"> <div class="devsite-mobile-nav-top"> <ul class="devsite-nav-list"> <li class="devsite-nav-item"> <a href="/web/20230520235245/https://developer.android.com/about#developer-stories" class="devsite-nav-title gc-analytics-event devsite-nav-has-children devsite-nav-active" data-category="Site-Wide Custom Events" data-label="Tab: Platform" track-name="platform" data-category="Site-Wide Custom Events" data-label="Responsive Tab: Platform" track-type="globalNav" track-metadata-eventdetail="globalMenu" track-metadata-position="nav"> <span class="devsite-nav-text" tooltip> Platform </span> <span class="devsite-nav-icon material-icons" data-icon="forward"> </span> </a> </li> <li class="devsite-nav-item"> <a href="/web/20230520235245/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/20230520235245/https://developer.android.com/multidevice" class="devsite-nav-title gc-analytics-event " data-category="Site-Wide Custom Events" data-label="Tab: Multidevice" track-name="multidevice" data-category="Site-Wide Custom Events" data-label="Responsive Tab: Multidevice" track-type="globalNav" track-metadata-eventdetail="globalMenu" track-metadata-position="nav"> <span class="devsite-nav-text" tooltip> Multidevice </span> </a> </li> <li class="devsite-nav-item"> <a href="/web/20230520235245/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/20230520235245/https://developer.android.com/jetpack" class="devsite-nav-title gc-analytics-event " data-category="Site-Wide Custom Events" data-label="Tab: Jetpack" track-name="jetpack" data-category="Site-Wide Custom Events" data-label="Responsive Tab: Jetpack" track-type="globalNav" track-metadata-eventdetail="globalMenu" track-metadata-position="nav"> <span class="devsite-nav-text" tooltip> Jetpack </span> </a> </li> <li class="devsite-nav-item"> <a href="/web/20230520235245/https://developer.android.com/kotlin" class="devsite-nav-title gc-analytics-event " data-category="Site-Wide Custom Events" data-label="Tab: Kotlin" track-name="kotlin" data-category="Site-Wide Custom Events" data-label="Responsive Tab: Kotlin" track-type="globalNav" track-metadata-eventdetail="globalMenu" track-metadata-position="nav"> <span class="devsite-nav-text" tooltip> Kotlin </span> </a> </li> <li class="devsite-nav-item"> <a href="/web/20230520235245/https://developer.android.com/docs" class="devsite-nav-title gc-analytics-event " data-category="Site-Wide Custom Events" data-label="Tab: Docs" track-name="docs" data-category="Site-Wide Custom Events" data-label="Responsive Tab: Docs" track-type="globalNav" track-metadata-eventdetail="globalMenu" track-metadata-position="nav"> <span class="devsite-nav-text" tooltip> Docs </span> </a> </li> <li class="devsite-nav-item"> <a href="/web/20230520235245/https://developer.android.com/games" class="devsite-nav-title gc-analytics-event " data-category="Site-Wide Custom Events" data-label="Tab: Games" track-name="games" data-category="Site-Wide Custom Events" data-label="Responsive Tab: Games" track-type="globalNav" 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/20230520235245/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" role="navigation"> <ul class="devsite-nav-list" menu="_book"> <li class="devsite-nav-item"><a href="/web/20230520235245/https://developer.android.com/stories" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /stories" track-type="bookNav" track-name="click" track-metadata-eventdetail="/stories"><span class="devsite-nav-text" tooltip>Latest</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>Apps</span> </div><ul class="devsite-nav-section"><li class="devsite-nav-item devsite-nav-external"><a href="https://web.archive.org/web/20230520235245/https://android-developers.googleblog.com/2022/03/play-time-with-jetpack-compose.html" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: https://android-developers.googleblog.com/2022/03/play-time-with-jetpack-compose.html" track-type="bookNav" track-name="click" track-metadata-eventdetail="https://android-developers.googleblog.com/2022/03/play-time-with-jetpack-compose.html"><span class="devsite-nav-text" tooltip>Play Store</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/20230520235245/https://developer.android.com/stories/apps/cuvva-compose" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /stories/apps/cuvva-compose" track-type="bookNav" track-name="click" track-metadata-eventdetail="/stories/apps/cuvva-compose"><span class="devsite-nav-text" tooltip>Cuvva - Compose</span></a></li><li class="devsite-nav-item"><a href="/web/20230520235245/https://developer.android.com/stories/apps/square-compose" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /stories/apps/square-compose" track-type="bookNav" track-name="click" track-metadata-eventdetail="/stories/apps/square-compose"><span class="devsite-nav-text" tooltip>Square - Compose</span></a></li><li class="devsite-nav-item devsite-nav-external"><a href="https://web.archive.org/web/20230520235245/https://play.google.com/console/about/mikan-casestudy/" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: https://play.google.com/console/about/mikan-casestudy/" track-type="bookNav" track-name="click" track-metadata-eventdetail="https://play.google.com/console/about/mikan-casestudy/"><span class="devsite-nav-text" tooltip>Mikan</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="https://web.archive.org/web/20230520235245/https://play.google.com/console/about/matchingagent-casestudy/" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: https://play.google.com/console/about/matchingagent-casestudy/" track-type="bookNav" track-name="click" track-metadata-eventdetail="https://play.google.com/console/about/matchingagent-casestudy/"><span class="devsite-nav-text" tooltip>MatchingAgent - tapple</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/20230520235245/https://developer.android.com/stories/apps/vlc-android-tv" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /stories/apps/vlc-android-tv" track-type="bookNav" track-name="click" track-metadata-eventdetail="/stories/apps/vlc-android-tv"><span class="devsite-nav-text" tooltip>VLC - Android TV</span></a></li><li class="devsite-nav-item"><a href="/web/20230520235245/https://developer.android.com/stories/apps/djay2" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /stories/apps/djay2" track-type="bookNav" track-name="click" track-metadata-eventdetail="/stories/apps/djay2"><span class="devsite-nav-text" tooltip>Djay2</span></a></li><li class="devsite-nav-item"><a href="/web/20230520235245/https://developer.android.com/stories/apps/vlc" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /stories/apps/vlc" track-type="bookNav" track-name="click" track-metadata-eventdetail="/stories/apps/vlc"><span class="devsite-nav-text" tooltip>VLC</span></a></li><li class="devsite-nav-item"><a href="/web/20230520235245/https://developer.android.com/stories/apps/concepts" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /stories/apps/concepts" track-type="bookNav" track-name="click" track-metadata-eventdetail="/stories/apps/concepts"><span class="devsite-nav-text" tooltip>Concepts</span></a></li><li class="devsite-nav-item devsite-nav-external"><a href="https://web.archive.org/web/20230520235245/https://play.google.com/console/about/duolingo-casestudy/" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: https://play.google.com/console/about/duolingo-casestudy/" track-type="bookNav" track-name="click" track-metadata-eventdetail="https://play.google.com/console/about/duolingo-casestudy/"><span class="devsite-nav-text" tooltip>Duolingo - App Bundle</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/20230520235245/https://developer.android.com/stories/apps/duolingo-excellence" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /stories/apps/duolingo-excellence" track-type="bookNav" track-name="click" track-metadata-eventdetail="/stories/apps/duolingo-excellence"><span class="devsite-nav-text" tooltip>Duolingo - Excellence</span></a></li><li class="devsite-nav-item"><a href="/web/20230520235245/https://developer.android.com/stories/apps/duolingo-kotlin" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /stories/apps/duolingo-kotlin" track-type="bookNav" track-name="click" track-metadata-eventdetail="/stories/apps/duolingo-kotlin"><span class="devsite-nav-text" tooltip>Duolingo - Kotlin</span></a></li><li class="devsite-nav-item"><a href="/web/20230520235245/https://developer.android.com/stories/apps/google-home" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /stories/apps/google-home" track-type="bookNav" track-name="click" track-metadata-eventdetail="/stories/apps/google-home"><span class="devsite-nav-text" tooltip>Google Home</span></a></li><li class="devsite-nav-item"><a href="/web/20230520235245/https://developer.android.com/stories/apps/google-duo" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /stories/apps/google-duo" track-type="bookNav" track-name="click" track-metadata-eventdetail="/stories/apps/google-duo"><span class="devsite-nav-text" tooltip>Google Duo</span></a></li><li class="devsite-nav-item"><a href="/web/20230520235245/https://developer.android.com/stories/apps/google-photos" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /stories/apps/google-photos" track-type="bookNav" track-name="click" track-metadata-eventdetail="/stories/apps/google-photos"><span class="devsite-nav-text" tooltip>Google Photos</span></a></li><li class="devsite-nav-item"><a href="/web/20230520235245/https://developer.android.com/stories/apps/reflectly" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /stories/apps/reflectly" track-type="bookNav" track-name="click" track-metadata-eventdetail="/stories/apps/reflectly"><span class="devsite-nav-text" tooltip>Reflectly</span></a></li><li class="devsite-nav-item devsite-nav-external"><a href="https://web.archive.org/web/20230520235245/https://play.google.com/console/about/redbus-casestudy/" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: https://play.google.com/console/about/redbus-casestudy/" track-type="bookNav" track-name="click" track-metadata-eventdetail="https://play.google.com/console/about/redbus-casestudy/"><span class="devsite-nav-text" tooltip>redBus</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/20230520235245/https://developer.android.com/stories/apps/tamedia" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /stories/apps/tamedia" track-type="bookNav" track-name="click" track-metadata-eventdetail="/stories/apps/tamedia"><span class="devsite-nav-text" tooltip>Tamedia</span></a></li><li class="devsite-nav-item"><a href="/web/20230520235245/https://developer.android.com/stories/apps/roblox" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /stories/apps/roblox" track-type="bookNav" track-name="click" track-metadata-eventdetail="/stories/apps/roblox"><span class="devsite-nav-text" tooltip>Roblox</span></a></li><li class="devsite-nav-item"><a href="/web/20230520235245/https://developer.android.com/stories/apps/infinite-painter" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /stories/apps/infinite-painter" track-type="bookNav" track-name="click" track-metadata-eventdetail="/stories/apps/infinite-painter"><span class="devsite-nav-text" tooltip>Infinite painter</span></a></li><li class="devsite-nav-item"><a href="/web/20230520235245/https://developer.android.com/stories/apps/squid" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /stories/apps/squid" track-type="bookNav" track-name="click" track-metadata-eventdetail="/stories/apps/squid"><span class="devsite-nav-text" tooltip>Squid</span></a></li><li class="devsite-nav-item"><a href="/web/20230520235245/https://developer.android.com/stories/apps/evernote" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /stories/apps/evernote" track-type="bookNav" track-name="click" track-metadata-eventdetail="/stories/apps/evernote"><span class="devsite-nav-text" tooltip>Evernote</span></a></li><li class="devsite-nav-item"><a href="/web/20230520235245/https://developer.android.com/stories/apps/beautyplus" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /stories/apps/beautyplus" track-type="bookNav" track-name="click" track-metadata-eventdetail="/stories/apps/beautyplus"><span class="devsite-nav-text" tooltip>BeautyPlus</span></a></li><li class="devsite-nav-item"><a href="/web/20230520235245/https://developer.android.com/stories/apps/tinder" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /stories/apps/tinder" track-type="bookNav" track-name="click" track-metadata-eventdetail="/stories/apps/tinder"><span class="devsite-nav-text" tooltip>Tinder</span></a></li><li class="devsite-nav-item"><a href="/web/20230520235245/https://developer.android.com/stories/apps/zillow" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /stories/apps/zillow" track-type="bookNav" track-name="click" track-metadata-eventdetail="/stories/apps/zillow"><span class="devsite-nav-text" tooltip>Zillow</span></a></li><li class="devsite-nav-item"><a href="/web/20230520235245/https://developer.android.com/stories/apps/iheartradio" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /stories/apps/iheartradio" track-type="bookNav" track-name="click" track-metadata-eventdetail="/stories/apps/iheartradio"><span class="devsite-nav-text" tooltip>iHeartRadio</span></a></li><li class="devsite-nav-item"><a href="/web/20230520235245/https://developer.android.com/stories/apps/hike" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /stories/apps/hike" track-type="bookNav" track-name="click" track-metadata-eventdetail="/stories/apps/hike"><span class="devsite-nav-text" tooltip>Hike</span></a></li><li class="devsite-nav-item"><a href="/web/20230520235245/https://developer.android.com/stories/apps/spiegel-online" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /stories/apps/spiegel-online" track-type="bookNav" track-name="click" track-metadata-eventdetail="/stories/apps/spiegel-online"><span class="devsite-nav-text" tooltip>Spiegel Online</span></a></li><li class="devsite-nav-item"><a href="/web/20230520235245/https://developer.android.com/stories/apps/condenast-shopping" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /stories/apps/condenast-shopping" track-type="bookNav" track-name="click" track-metadata-eventdetail="/stories/apps/condenast-shopping"><span class="devsite-nav-text" tooltip>Glamour.de</span></a></li><li class="devsite-nav-item devsite-nav-external"><a href="https://web.archive.org/web/20230520235245/https://play.google.com/console/about/noom-casestudy/" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: https://play.google.com/console/about/noom-casestudy/" track-type="bookNav" track-name="click" track-metadata-eventdetail="https://play.google.com/console/about/noom-casestudy/"><span class="devsite-nav-text" tooltip>Noom</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/20230520235245/https://developer.android.com/stories/apps/el-mundo" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /stories/apps/el-mundo" track-type="bookNav" track-name="click" track-metadata-eventdetail="/stories/apps/el-mundo"><span class="devsite-nav-text" tooltip>El Mundo</span></a></li><li class="devsite-nav-item devsite-nav-external"><a href="https://web.archive.org/web/20230520235245/https://play.google.com/console/about/sayhi-casestudy/" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: https://play.google.com/console/about/sayhi-casestudy/" track-type="bookNav" track-name="click" track-metadata-eventdetail="https://play.google.com/console/about/sayhi-casestudy/"><span class="devsite-nav-text" tooltip>SayHi Chat</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="https://web.archive.org/web/20230520235245/https://play.google.com/console/about/cornershop-casestudy/" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: https://play.google.com/console/about/cornershop-casestudy/" track-type="bookNav" track-name="click" track-metadata-eventdetail="https://play.google.com/console/about/cornershop-casestudy/"><span class="devsite-nav-text" tooltip>Cornershop</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="https://web.archive.org/web/20230520235245/https://play.google.com/console/about/twitter-casestudy/" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: https://play.google.com/console/about/twitter-casestudy/" track-type="bookNav" track-name="click" track-metadata-eventdetail="https://play.google.com/console/about/twitter-casestudy/"><span class="devsite-nav-text" tooltip>Twitter - App Bundle</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/20230520235245/https://developer.android.com/stories/apps/twitter-compose" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /stories/apps/twitter-compose" track-type="bookNav" track-name="click" track-metadata-eventdetail="/stories/apps/twitter-compose"><span class="devsite-nav-text" tooltip>Twitter - Compose</span></a></li><li class="devsite-nav-item"><a href="/web/20230520235245/https://developer.android.com/stories/apps/twitter-kotlin" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /stories/apps/twitter-kotlin" track-type="bookNav" track-name="click" track-metadata-eventdetail="/stories/apps/twitter-kotlin"><span class="devsite-nav-text" tooltip>Twitter - Kotlin</span></a></li><li class="devsite-nav-item"><a href="/web/20230520235245/https://developer.android.com/stories/apps/monzo-camerax" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /stories/apps/monzo-camerax" track-type="bookNav" track-name="click" track-metadata-eventdetail="/stories/apps/monzo-camerax"><span class="devsite-nav-text" tooltip>Monzo - CameraX</span></a></li><li class="devsite-nav-item"><a href="/web/20230520235245/https://developer.android.com/stories/apps/monzo-compose" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /stories/apps/monzo-compose" track-type="bookNav" track-name="click" track-metadata-eventdetail="/stories/apps/monzo-compose"><span class="devsite-nav-text" tooltip>Monzo - Compose</span></a></li><li class="devsite-nav-item devsite-nav-external"><a href="https://web.archive.org/web/20230520235245/https://play.google.com/console/about/adobe-casestudy/" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: https://play.google.com/console/about/adobe-casestudy/" track-type="bookNav" track-name="click" track-metadata-eventdetail="https://play.google.com/console/about/adobe-casestudy/"><span class="devsite-nav-text" tooltip>Adobe</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/20230520235245/https://developer.android.com/stories/apps/truecaller" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /stories/apps/truecaller" track-type="bookNav" track-name="click" track-metadata-eventdetail="/stories/apps/truecaller"><span class="devsite-nav-text" tooltip>Truecaller</span></a></li><li class="devsite-nav-item devsite-nav-external"><a href="https://web.archive.org/web/20230520235245/https://play.google.com/console/about/tokopedia-casestudy/" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: https://play.google.com/console/about/tokopedia-casestudy/" track-type="bookNav" track-name="click" track-metadata-eventdetail="https://play.google.com/console/about/tokopedia-casestudy/"><span class="devsite-nav-text" tooltip>Tokopedia</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/20230520235245/https://developer.android.com/stories/apps/alarmy" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /stories/apps/alarmy" track-type="bookNav" track-name="click" track-metadata-eventdetail="/stories/apps/alarmy"><span class="devsite-nav-text" tooltip>Alarmy</span></a></li><li class="devsite-nav-item"><a href="/web/20230520235245/https://developer.android.com/stories/apps/smartnews" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /stories/apps/smartnews" track-type="bookNav" track-name="click" track-metadata-eventdetail="/stories/apps/smartnews"><span class="devsite-nav-text" tooltip>SmartNews</span></a></li><li class="devsite-nav-item devsite-nav-external"><a href="https://web.archive.org/web/20230520235245/https://play.google.com/console/about/playkids-casestudy/" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: https://play.google.com/console/about/playkids-casestudy/" track-type="bookNav" track-name="click" track-metadata-eventdetail="https://play.google.com/console/about/playkids-casestudy/"><span class="devsite-nav-text" tooltip>PlayKids</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/20230520235245/https://developer.android.com/stories/apps/headspace" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /stories/apps/headspace" track-type="bookNav" track-name="click" track-metadata-eventdetail="/stories/apps/headspace"><span class="devsite-nav-text" tooltip>Headspace</span></a></li><li class="devsite-nav-item"><a href="/web/20230520235245/https://developer.android.com/stories/apps/headspace-excellence" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /stories/apps/headspace-excellence" track-type="bookNav" track-name="click" track-metadata-eventdetail="/stories/apps/headspace-excellence"><span class="devsite-nav-text" tooltip>Headspace App Excellence</span></a></li><li class="devsite-nav-item"><a href="/web/20230520235245/https://developer.android.com/stories/apps/mercari" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /stories/apps/mercari" track-type="bookNav" track-name="click" track-metadata-eventdetail="/stories/apps/mercari"><span class="devsite-nav-text" tooltip>Mercari - Compose</span></a></li><li class="devsite-nav-item"><a href="/web/20230520235245/https://developer.android.com/stories/apps/microsoft" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /stories/apps/microsoft" track-type="bookNav" track-name="click" track-metadata-eventdetail="/stories/apps/microsoft"><span class="devsite-nav-text" tooltip>Microsoft</span></a></li><li class="devsite-nav-item"><a href="/web/20230520235245/https://developer.android.com/stories/apps/microsoft-camerax" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /stories/apps/microsoft-camerax" track-type="bookNav" track-name="click" track-metadata-eventdetail="/stories/apps/microsoft-camerax"><span class="devsite-nav-text" tooltip>Microsoft - CameraX</span></a></li><li class="devsite-nav-item"><a href="/web/20230520235245/https://developer.android.com/stories/apps/zomato" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /stories/apps/zomato" track-type="bookNav" track-name="click" track-metadata-eventdetail="/stories/apps/zomato"><span class="devsite-nav-text" tooltip>Zomato</span></a></li><li class="devsite-nav-item"><a href="/web/20230520235245/https://developer.android.com/stories/apps/josh" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /stories/apps/josh" track-type="bookNav" track-name="click" track-metadata-eventdetail="/stories/apps/josh"><span class="devsite-nav-text" tooltip>Josh</span></a></li><li class="devsite-nav-item"><a href="/web/20230520235245/https://developer.android.com/stories/apps/lyft" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /stories/apps/lyft" track-type="bookNav" track-name="click" track-metadata-eventdetail="/stories/apps/lyft"><span class="devsite-nav-text" tooltip>Lyft</span></a></li><li class="devsite-nav-item"><a href="/web/20230520235245/https://developer.android.com/stories/apps/okcredit" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /stories/apps/okcredit" track-type="bookNav" track-name="click" track-metadata-eventdetail="/stories/apps/okcredit"><span class="devsite-nav-text" tooltip>OkCredit</span></a></li><li class="devsite-nav-item"><a href="/web/20230520235245/https://developer.android.com/stories/apps/swiggy" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /stories/apps/swiggy" track-type="bookNav" track-name="click" track-metadata-eventdetail="/stories/apps/swiggy"><span class="devsite-nav-text" tooltip>Swiggy</span></a></li><li class="devsite-nav-item"><a href="/web/20230520235245/https://developer.android.com/stories/apps/myjio" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /stories/apps/myjio" track-type="bookNav" track-name="click" track-metadata-eventdetail="/stories/apps/myjio"><span class="devsite-nav-text" tooltip>MyJio</span></a></li><li class="devsite-nav-item"><a href="/web/20230520235245/https://developer.android.com/stories/apps/jiosaavn" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /stories/apps/jiosaavn" track-type="bookNav" track-name="click" track-metadata-eventdetail="/stories/apps/jiosaavn"><span class="devsite-nav-text" tooltip>JioSaavn</span></a></li><li class="devsite-nav-item"><a href="/web/20230520235245/https://developer.android.com/stories/apps/tiktok" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /stories/apps/tiktok" track-type="bookNav" track-name="click" track-metadata-eventdetail="/stories/apps/tiktok"><span class="devsite-nav-text" tooltip>TikTok</span></a></li><li class="devsite-nav-item"><a href="/web/20230520235245/https://developer.android.com/stories/apps/futu" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /stories/apps/futu" track-type="bookNav" track-name="click" track-metadata-eventdetail="/stories/apps/futu"><span class="devsite-nav-text" tooltip>Futu</span></a></li><li class="devsite-nav-item"><a href="/web/20230520235245/https://developer.android.com/stories/apps/sharechat" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /stories/apps/sharechat" track-type="bookNav" track-name="click" track-metadata-eventdetail="/stories/apps/sharechat"><span class="devsite-nav-text" tooltip>ShareChat</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>Games</span> </div><ul class="devsite-nav-section"><li class="devsite-nav-item"><a href="/web/20230520235245/https://developer.android.com/stories/games/devsisters" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /stories/games/devsisters" track-type="bookNav" track-name="click" track-metadata-eventdetail="/stories/games/devsisters"><span class="devsite-nav-text" tooltip>Devsisters</span></a></li><li class="devsite-nav-item"><a href="/web/20230520235245/https://developer.android.com/stories/games/new-state-mobile" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /stories/games/new-state-mobile" track-type="bookNav" track-name="click" track-metadata-eventdetail="/stories/games/new-state-mobile"><span class="devsite-nav-text" tooltip>New State Mobile</span></a></li><li class="devsite-nav-item"><a href="/web/20230520235245/https://developer.android.com/stories/games/spokko" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /stories/games/spokko" track-type="bookNav" track-name="click" track-metadata-eventdetail="/stories/games/spokko"><span class="devsite-nav-text" tooltip>Spokko</span></a></li><li class="devsite-nav-item"><a href="/web/20230520235245/https://developer.android.com/stories/games/cat-daddy" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /stories/games/cat-daddy" track-type="bookNav" track-name="click" track-metadata-eventdetail="/stories/games/cat-daddy"><span class="devsite-nav-text" tooltip>2K/Cat Daddy - Play Asset Delivery</span></a></li><li class="devsite-nav-item"><a href="/web/20230520235245/https://developer.android.com/stories/games/cat-daddy-agdk" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /stories/games/cat-daddy-agdk" track-type="bookNav" track-name="click" track-metadata-eventdetail="/stories/games/cat-daddy-agdk"><span class="devsite-nav-text" tooltip>2K/Cat Daddy - AGDK</span></a></li><li class="devsite-nav-item"><a href="/web/20230520235245/https://developer.android.com/stories/games/ea-agde" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /stories/games/ea-agde" track-type="bookNav" track-name="click" track-metadata-eventdetail="/stories/games/ea-agde"><span class="devsite-nav-text" tooltip>Electronic Arts</span></a></li><li class="devsite-nav-item"><a href="/web/20230520235245/https://developer.android.com/stories/games/epic-agde" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /stories/games/epic-agde" track-type="bookNav" track-name="click" track-metadata-eventdetail="/stories/games/epic-agde"><span class="devsite-nav-text" tooltip>Epic Games</span></a></li><li class="devsite-nav-item"><a href="/web/20230520235245/https://developer.android.com/stories/games/cdpr" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /stories/games/cdpr" track-type="bookNav" track-name="click" track-metadata-eventdetail="/stories/games/cdpr"><span class="devsite-nav-text" tooltip>CDPR</span></a></li><li class="devsite-nav-item"><a href="/web/20230520235245/https://developer.android.com/stories/games/rv-appstudios-pad" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /stories/games/rv-appstudios-pad" track-type="bookNav" track-name="click" track-metadata-eventdetail="/stories/games/rv-appstudios-pad"><span class="devsite-nav-text" tooltip>RV AppStudios</span></a></li><li class="devsite-nav-item"><a href="/web/20230520235245/https://developer.android.com/stories/games/gameloft-pad" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /stories/games/gameloft-pad" track-type="bookNav" track-name="click" track-metadata-eventdetail="/stories/games/gameloft-pad"><span class="devsite-nav-text" tooltip>Gameloft - Play Asset Delivery</span></a></li><li class="devsite-nav-item"><a href="/web/20230520235245/https://developer.android.com/stories/games/war-robots" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /stories/games/war-robots" track-type="bookNav" track-name="click" track-metadata-eventdetail="/stories/games/war-robots"><span class="devsite-nav-text" tooltip>War Robots</span></a></li><li class="devsite-nav-item"><a href="/web/20230520235245/https://developer.android.com/stories/games/gameloft" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /stories/games/gameloft" track-type="bookNav" track-name="click" track-metadata-eventdetail="/stories/games/gameloft"><span class="devsite-nav-text" tooltip>Gameloft - ChromeOS</span></a></li><li class="devsite-nav-item"><a href="/web/20230520235245/https://developer.android.com/stories/games/gameloft-gamemode" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /stories/games/gameloft-gamemode" track-type="bookNav" track-name="click" track-metadata-eventdetail="/stories/games/gameloft-gamemode"><span class="devsite-nav-text" tooltip>Gameloft - Game Mode API</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>Instant apps</span> </div><ul class="devsite-nav-section"><li class="devsite-nav-item"><a href="/web/20230520235245/https://developer.android.com/stories/instant-apps/marvel-strike-force" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /stories/instant-apps/marvel-strike-force" track-type="bookNav" track-name="click" track-metadata-eventdetail="/stories/instant-apps/marvel-strike-force"><span class="devsite-nav-text" tooltip>Marvel Strike Force</span></a></li><li class="devsite-nav-item"><a href="/web/20230520235245/https://developer.android.com/stories/instant-apps/evino" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /stories/instant-apps/evino" track-type="bookNav" track-name="click" track-metadata-eventdetail="/stories/instant-apps/evino"><span class="devsite-nav-text" tooltip>Evino</span></a></li><li class="devsite-nav-item"><a href="/web/20230520235245/https://developer.android.com/stories/instant-apps/galaxy-attack" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /stories/instant-apps/galaxy-attack" track-type="bookNav" track-name="click" track-metadata-eventdetail="/stories/instant-apps/galaxy-attack"><span class="devsite-nav-text" tooltip>Galaxy Attack</span></a></li><li class="devsite-nav-item"><a href="/web/20230520235245/https://developer.android.com/stories/instant-apps/ultimate-guitar" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /stories/instant-apps/ultimate-guitar" track-type="bookNav" track-name="click" track-metadata-eventdetail="/stories/instant-apps/ultimate-guitar"><span class="devsite-nav-text" tooltip>Ultimate Guitar</span></a></li><li class="devsite-nav-item"><a href="/web/20230520235245/https://developer.android.com/stories/instant-apps/viki" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /stories/instant-apps/viki" track-type="bookNav" track-name="click" track-metadata-eventdetail="/stories/instant-apps/viki"><span class="devsite-nav-text" tooltip>Viki</span></a></li><li class="devsite-nav-item"><a href="/web/20230520235245/https://developer.android.com/stories/instant-apps/king" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /stories/instant-apps/king" track-type="bookNav" track-name="click" track-metadata-eventdetail="/stories/instant-apps/king"><span class="devsite-nav-text" tooltip>King</span></a></li><li class="devsite-nav-item"><a href="/web/20230520235245/https://developer.android.com/stories/instant-apps/panda-pop" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /stories/instant-apps/panda-pop" track-type="bookNav" track-name="click" track-metadata-eventdetail="/stories/instant-apps/panda-pop"><span class="devsite-nav-text" tooltip>Jam City</span></a></li><li class="devsite-nav-item"><a href="/web/20230520235245/https://developer.android.com/stories/instant-apps/vimeo" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /stories/instant-apps/vimeo" track-type="bookNav" track-name="click" track-metadata-eventdetail="/stories/instant-apps/vimeo"><span class="devsite-nav-text" tooltip>Vimeo</span></a></li></ul></div></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/20230520235245/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/20230520235245/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/20230520235245/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/20230520235245/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/20230520235245/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" track-type="navMenu" track-metadata-eventdetail="globalMenu" track-metadata-position="nav"> <span class="devsite-nav-text" tooltip> Large screens </span> </a> </li> <li class="devsite-nav-item"> <a href="/web/20230520235245/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/20230520235245/https://developer.android.com/design/ui/tv" class="devsite-nav-title gc-analytics-event " data-category="Site-Wide Custom Events" data-label="Responsive Tab: TV" track-type="navMenu" track-metadata-eventdetail="globalMenu" track-metadata-position="nav"> <span class="devsite-nav-text" tooltip> 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/20230520235245/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/20230520235245/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/20230520235245/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/20230520235245/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/20230520235245/https://developer.android.com/training/testing" 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/20230520235245/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/20230520235245/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/20230520235245/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/20230520235245/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/20230520235245/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/20230520235245/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/20230520235245/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/20230520235245/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> </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="https://web.archive.org/web/20230520235245/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=""> Home </a> </li> <li class="devsite-breadcrumb-item "> <div class="devsite-breadcrumb-guillemet material-icons" aria-hidden="true"></div> <a href="https://web.archive.org/web/20230520235245/https://developer.android.com/stories" 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="Android Developers"> Android Developers </a> </li> <li class="devsite-breadcrumb-item "> <div class="devsite-breadcrumb-guillemet material-icons" aria-hidden="true"></div> <a href="https://web.archive.org/web/20230520235245/https://developer.android.com/about#developer-stories" 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=""> Platform </a> </li> </ul> <devsite-thumb-rating position="header"> </devsite-thumb-rating> </div> <h1 class="devsite-page-title">VLC optimizes its Android app for immersive video experiences on larger screens</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><img class="attempt-right" src="/web/20230520235245im_/https://developer.android.com/static/images/distribute/stories/vlc-icon.svg" width="113" alt></p> <p><a href="https://web.archive.org/web/20230520235245/https://www.videolan.org/vlc/index.html" class="external">VLC</a> is a free, open source cross-platform multimedia player developed by the <a href="https://web.archive.org/web/20230520235245/https://www.videolan.org/" class="external">VideoLAN project.</a> Seamless compatibility with all files and screens is at the core of VLC's design. VLC is able to play most local video and audio files as well as various streaming protocols, and a large number of third-party apps use the VLC engine to handle video playback. Ultimately, VideoLAN's developers want users to be able to play everything, everywhere — no matter what device or screen size they prefer.</p> <p>The team originally designed the <a href="https://web.archive.org/web/20230520235245/https://play.google.com/store/apps/details?id=org.videolan.vlc" class="external">VLC app</a> for Android, and it wasn't long before users started requesting the same experience on Chromebooks. That's when VideoLAN saw an opportunity to offer users a desktop-style experience by bringing VLC to ChromeOS.</p> <p>By optimizing the Android app for ChromeOS and larger screens — as well as supporting x86 and 64-bit ARM from the start — VideoLAN ensured VLC users could enjoy the same immersive experience across a range of different devices and form factors.</p> <h2 id="what_they_did" data-text="What they did">What they did</h2> <p>The team started by noting which features VLC users preferred on desktop, such as mouse input, right-click menus, and making sure external storage (i.e., hard drives and USB thumb drives) worked just right. From there, they started adjusting the app's layout and functionality to ensure users could enjoy those same features in a desktop-like environment.</p> <h3 id="keyboard_and_mouse_support" data-text="Keyboard and mouse support">Keyboard and mouse support</h3> <p>One of the team's most important optimizations was to support keyboard and mouse input. Supporting keyboards allowed people to use shortcuts and direction buttons to easily navigate the app, while mouse input enabled right-click commands and file drag-and-drop to and from the VLC player.</p> <h3 id="dynamic_resizing" data-text="Dynamic resizing">Dynamic resizing</h3> <p>VideoLAN designed multiple versions of the layout to allow users to easily scale and resize the app. Because the team had already designed VLC's layout for tablets, accommodating larger, wider layouts was a fairly simple process. They also tweaked the player's audio settings to take advantage of the extra real estate available on larger screens.</p> <p>Previously, the team needed to use individual emulators or separate devices to test each layout. But, with Android support for ChromeOS, the team was able to test UI layout for desktop, tablet, and mobile all at once, on the same device, and without having to use an emulator. This substantially sped up the design and test times.</p> <p>And now with <a href="https://web.archive.org/web/20230520235245/https://cros.page.link/linux-dev" class="external">Linux (Beta) on ChromeOS</a>, developers can use Android Studio to build and test Android apps natively, making Chromebooks development-ready devices.</p> <div class="align-center"> <img src="/web/20230520235245im_/https://developer.android.com/static/images/distribute/stories/vlc-1.png" alt="Image showing multiple versions of layout, examples of dynamic resizing across Mobile, Tablet and Laptop devices"> </div> <h3 id="writing_code_in_kotlin" data-text="Writing code in Kotlin">Writing code in Kotlin</h3> <p>Best of all, the team did all the work in <a href="/web/20230520235245/https://developer.android.com/kotlin">Kotlin</a>, a powerful programming language that helped them improve productivity by writing in safer and more concise code. By reducing the app's codebase, they were able to spend less time troubleshooting issues and more time optimizing the app's layout and functionality.</p> <p>"We're usually reluctant to majorly restructure or rewrite our code because we risk losing functionality," said Geoffrey Métais, VideoLAN's lead Android developer. "We were pleased to find the transition from Java to Kotlin was really smooth, thanks to Android Studio's built-in migration tool, and Kotlin's <a href="/web/20230520235245/https://developer.android.com/kotlin/coroutines">couroutines framework</a> helped us improve performance."</p> <h2 id="results" data-text="Results">Results</h2> <p>VideoLAN used the same APK for mobile, ChromeOS, and Android TV, so it only took the lead developer two months to optimize the app for each platform. Users had been asking for VLC support on ChromeOS for months, especially for DVD playback, and the team has received overwhelmingly positive feedback so far. Plus, the latest version of ChromeOS fully supports external storage, so every Android user now enjoys the same benefit.</p> <p>"Our team is always on the lookout for new opportunities to drive the biggest impact for our users," said VideoLAN President Jean-Baptiste Kempf. "Optimizing for Chromebooks has helped us extend our app across a huge number of devices and form factors, and it's clear we hit the mark based on feedback from users around the world."</p> <h2 id="get_started" data-text="Get Started">Get Started</h2> <p>Check out some best practices to <a href="/web/20230520235245/https://developer.android.com/topic/arc/optimizing">optimize your apps for ChromeOS</a>.</p> <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/20230520235245/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-05-01 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/20230520235245/https://twitter.com/AndroidDev" class="devsite-footer-promo-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Footer Twitter Promo"> <img class="devsite-footer-promo-icon" src="/web/20230520235245im_/https://developer.android.com/_static/android/images/logo-twitter.svg" loading="lazy" alt="Twitter"> Twitter </a> <div class="devsite-footer-promo-description">Follow @AndroidDev on Twitter</div> </li> <li class="devsite-footer-promo"> <a href="//web.archive.org/web/20230520235245/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/20230520235245im_/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/20230520235245/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/20230520235245im_/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/20230520235245/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/20230520235245/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/20230520235245/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/20230520235245/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/20230520235245/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/20230520235245/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/20230520235245/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/20230520235245/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/20230520235245/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/20230520235245/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/20230520235245/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/20230520235245/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/20230520235245/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/20230520235245/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/20230520235245/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/20230520235245/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/20230520235245/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/20230520235245/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/20230520235245/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/20230520235245/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/20230520235245/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/20230520235245/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/20230520235245/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/20230520235245/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/20230520235245/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/20230520235245/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/20230520235245/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/20230520235245/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/20230520235245/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/20230520235245/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/20230520235245/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/20230520235245/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="https://web.archive.org/web/20230520235245/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="https://web.archive.org/web/20230520235245/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="https://web.archive.org/web/20230520235245im_/https://www.gstatic.com/devrel-devsite/prod/v693c51561ffcdff9e6200b7e4cd9c2bdcde516af6b265b56d58924d489006b90/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="https://web.archive.org/web/20230520235245im_/https://www.gstatic.com/devrel-devsite/prod/v693c51561ffcdff9e6200b7e4cd9c2bdcde516af6b265b56d58924d489006b90/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/20230520235245/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/20230520235245/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/20230520235245/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/20230520235245/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/20230520235245/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/20230520235245/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/20230520235245/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/20230520235245/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/20230520235245/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="pt_br">Português – Brasil</a> </li> <li role="presentation"> <a role="menuitem" lang="zh_cn">中文 – 简体</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": {"dimension3": false, "dimension6": "en", "dimension1": "Signed out", "dimension4": "Android Developers", "dimension11": false, "dimension5": "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-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="qyhRWLWjFnbHgyjxdwX9G5dxP+fKEi"> (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', 'https://web.archive.org/web/20230520235245/https://www.gstatic.com/devrel-devsite/prod/v693c51561ffcdff9e6200b7e4cd9c2bdcde516af6b265b56d58924d489006b90/android/js/app_loader.js', '[3,"en",null,"/js/devsite_app_module.js","https://web.archive.org/web/20230520235245/https://www.gstatic.com/devrel-devsite/prod/v693c51561ffcdff9e6200b7e4cd9c2bdcde516af6b265b56d58924d489006b90","https://web.archive.org/web/20230520235245/https://www.gstatic.com/devrel-devsite/prod/v693c51561ffcdff9e6200b7e4cd9c2bdcde516af6b265b56d58924d489006b90/android","https://web.archive.org/web/20230520235245/https://android-dot-devsite-v2-prod.appspot.com",null,null,["/_pwa/android/manifest.json","https://web.archive.org/web/20230520235245/https://www.gstatic.com/devrel-devsite/prod/v693c51561ffcdff9e6200b7e4cd9c2bdcde516af6b265b56d58924d489006b90/images/video-placeholder.svg","https://web.archive.org/web/20230520235245/https://www.gstatic.com/devrel-devsite/prod/v693c51561ffcdff9e6200b7e4cd9c2bdcde516af6b265b56d58924d489006b90/android/images/favicon.png","https://web.archive.org/web/20230520235245/https://www.gstatic.com/devrel-devsite/prod/v693c51561ffcdff9e6200b7e4cd9c2bdcde516af6b265b56d58924d489006b90/android/images/lockup.svg","https://web.archive.org/web/20230520235245/https://fonts.googleapis.com/css?family=Roboto:300,400,400italic,500,500italic,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,116,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,["Profiles__enable_public_developer_profiles","Cloud__enable_cloud_shell","Profiles__enable_profile_communities","SignIn__enable_auto_signin_oauth","Badges__enable_delete_badges","MiscFeatureFlags__developers_footer_dark_image","Experiments__reqs_query_experiments","Cloud__enable_cloudx_experiment_ids","BookNav__enable_book_nav_filtering","Profiles__enable_profile_notifications_ui","Cloud__enable_free_trial_server_call","Profiles__enable_developer_profiles_callout","Cloud__enable_cloud_facet_chat","Profiles__enable_profile_collections","Significatio__enable_by_tenant","Significatio__enable_footprints","Badges__enable_drag_and_drop_badges","MiscFeatureFlags__developers_footer_image","Analytics__enable_ga4_analytics","Search__enable_devsite_serp","MiscFeatureFlags__emergency_css","Cloud__enable_cloud_shell_fte_user_flow","Cloud__enable_cloudx_ping","BookNav__enable_collapsible_book_nav","AuthorPageInsights__enable_author_page_insights","Search__enable_page_map","Localization__enable_locale_redirects","Profiles__require_profile_eligibility_for_signin","Profiles__enable_developer_profiles_interests","Search__enable_faceted_search","Badges__enable_hide_badges","Experiments__enable_experiments","MiscFeatureFlags__enable_tls_version_for_gaia_calls","MiscFeatureFlags__devpanel_url","Profiles__enable_page_saving","Cloud__enable_cloud_dlp_service","Significatio__enable_experiment_id_caching","Profiles__enable_developer_profiles_dashboard_recommendations","Search__enable_suggestions_from_borg","Search__enable_acl_suggestions"],null,null,"AIzaSyBLEMok-5suZ67qRPzx0qUtbnLmyT_kCVE\n","https://web.archive.org/web/20230520235245/https://developerscontentserving-pa.googleapis.com","AIzaSyCM4QpTRSqP5qI4Dvjt4OAScIN8sOUlO-k\n","https://web.archive.org/web/20230520235245/https://developerscontentsearch-pa.googleapis.com"]') </script> <devsite-a11y-announce></devsite-a11y-announce> </body> </html><!-- FILE ARCHIVED ON 23:52:45 May 20, 2023 AND RETRIEVED FROM THE INTERNET ARCHIVE ON 07:32:24 Dec 11, 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: 0.657 exclusion.robots: 0.037 exclusion.robots.policy: 0.022 esindex: 0.013 cdx.remote: 11.563 LoadShardBlock: 676.725 (3) PetaboxLoader3.datanode: 640.606 (4) load_resource: 3381.152 PetaboxLoader3.resolve: 3222.64 -->