page.title=Building TV Playback Apps
page.tags=tv, leanback
helpoutsWidget=true

startpage=true

@jd:body

<div id="tb-wrapper">
<div id="tb">
  <h2>Dependencies and Prerequisites</h2>
  <ul>
    <li>Android 5.0 (API level 21) or higher</li>
  </ul>
  <h2>You should also read</h2>
  <ul>
    <li><a href="{@docRoot}design/tv/index.html">
      Design for TV</a></li>
  </ul>

</div>
</div>

  <!-- video box -->
<a class="notice-developers-video" href="https://www.youtube.com/watch?v=72K1VhjoL98">
<div>
    <h3>Video</h3>
    <p>DevBytes: Android TV &mdash; Using the Leanback library</p>
</div>
</a>



<p>
  Browsing and playing media files is frequently part of the user experience provided by a TV app.
  Building such an experience from scratch, while making sure that it is fast, fluid, and attractive
  can be quite challenging. Whether your app provides access to a small or large media catalog,
  it is important to allow users to quickly browse options and get to the content they want.
</p>

<p>
  The Android framework provides classes for building user interfaces for these types of apps with
  the <a href="{@docRoot}tools/support-library/features.html#v17-leanback">v17 leanback support
  library</a>. This library provides a framework of classes for creating an efficient and familiar
  interface for browsing and playing media files with minimal coding. The classes are designed
  be extended and customized so you can create an experience that is unique to your app.
</p>

<p>This class shows you how to build a TV app for browsing and playing media content using the Leanback
  support libraries for TV.</p>

<h2>Topics</h2>

<dl>
  <dt><b><a href="browse.html">Creating a Catalog Browser</a></b></dt>
    <dd>Learn how to use the Leanback support library to build a browsing interface for media
      catalogs.</dd>

  <dt><b><a href="details.html">Providing a Card View</a></b></dt>
    <dd>Learn how to use the Leanback support library to build a card view for content items.</dd>

  <dt><b><a href="details.html">Building a Details View</a></b></dt>
    <dd>Learn how to use the Leanback support library to build a details page for media items.</dd>

  <dt><b><a href="now-playing.html">Displaying a Now Playing Card</a></b></dt>
    <dd>Learn how to use a MediaSession to display a Now Playing card on the home screen.</dd>
</dl>
