Get started with TV apps
Stay organized with collections
Save and categorize content based on your preferences.
Android offers a rich user experience that's optimized for apps running on large screen devices,
such as high-definition televisions. Apps on TV offer new opportunities to delight your users
from the comfort of their couch.
TV apps use the same structure as those for phones and tablets, which means you can
create new TV apps based on what you already know about building apps for Android. Or you can extend your
existing apps to also run on TV devices. However, the user interaction model for TV is
substantially different from phone and tablet devices. To make your app successful on TVs,
design new layouts that viewers can enjoy from 10 feet away and comfortably navigate
with just a directional pad and a select button.
Note: TV apps run locally on TV devices. To learn more about streaming video and
audio from an Android app to a TV device, refer to the
developer documentation for Google Cast.
Topics
- Create and run a TV app
- Create a new Android Studio project for TV apps or modify your existing app project to run on
TV devices.
- Handle TV hardware
- Check if your app is running on TV hardware, handle unsupported hardware features, and manage
controller devices.
- Manage TV controllers
- Handle user input by managing TV controllers.
- Build TV UIs
- Use Compose for TV to build modern, declarative UIs for TV apps.
- Create TV navigation
- Understand the requirements for TV navigation and how to implement TV-compatible
navigation.
Content and code samples on this page are subject to the licenses described in the Content License. Java and OpenJDK are trademarks or registered trademarks of Oracle and/or its affiliates.
Last updated 2024-06-20 UTC.
[{
"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"
}]
[{
"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"
}]
{"lastModified": "Last updated 2024-06-20 UTC."}
[[["Easy to understand","easyToUnderstand","thumb-up"],["Solved my problem","solvedMyProblem","thumb-up"],["Other","otherUp","thumb-up"]],[["Missing the information I need","missingTheInformationINeed","thumb-down"],["Too complicated / too many steps","tooComplicatedTooManySteps","thumb-down"],["Out of date","outOfDate","thumb-down"],["Samples / code issue","samplesCodeIssue","thumb-down"],["Other","otherDown","thumb-down"]],["Last updated 2024-06-20 UTC."]]