Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
DRM
android.drm
ExoPlayer
android.media.MediaPlayer
Set up a TV Project
This section discusses how to modify an existing app to run on TV devices, or create a new one.
These are the main components you must use to create an app that runs on TV devices:
TV Support Libraries (Optional) - There are several Support Libraries available for TV
devices that provide widgets for building user interfaces.
Prerequisites
Before you begin building apps for TV, you must:
Declare a TV Activity
An application intended to run on TV devices must declare a launcher activity for TV in its
manifest using aCATEGORY_LEANBACK_LAUNCHER intent filter. This filter identifies your app as
being enabled for TV, and is required for your app to be considered a TV app in Google Play.
Declaring this intent also identifies which activity in your app to launch when a user selects its
icon on the TV home screen.
The following code snippet shows how to include this intent filter in your manifest:
<application
android:banner="@drawable/banner" >
...
<activity
android:name="com.example.android.MainActivity"
android:label="@string/app_name" >
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
<activity
android:name="com.example.android.TvActivity"
android:label="@string/app_name"
android:theme="@style/Theme.Leanback">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LEANBACK_LAUNCHER" />
</intent-filter>
</activity>
</application>
The second activity manifest entry in this example specifies that activity as the one to launch on
a TV device.
Caution: If you do not include the CATEGORY_LEANBACK_LAUNCHER intent filter in your app, it
is not visible to users running the Google Play store on TV devices. Also, if your app does not
have this filter when you load it onto a TV device using developer tools, the app does not appear
in the TV user interface.
If you are modifying an existing app for use on TV, your app should not use the same activity
layout for TV that it does for phones and tablets. The user interface of your TV app (or TV portion
of your existing app) should provide a simpler interface that can be easily navigated using a
remote control from a couch. For guidelines on designing an app for TV, see the TV
Design guide. For more information on the minimum implementation requirements for interface
layouts on TV, see Building TV Layouts.
set the required attribute value tofalse. If you set the required attribute value to true, your app
will run only on devices that use the Leanback UI.
<manifest>
<uses-feature android:name="android.software.leanback"
android:required="false" />
...
</manifest>
<manifest>
<uses-feature android:name="android.hardware.touchscreen"
android:required="false" />
...
</manifest>
Caution: You must declare that a touch screen is not required in your app manifest, as shown
this example code, or your app cannot appear in the Google Play store on TV devices.
<application
...
android:banner="@drawable/banner" >
...
</application>
Use the android:banner attribute with the <application> tag to supply a default banner for all
application activities, or with the <activity> tag to supply a banner for a specific activity.
See Banners in the UI Patterns for TV design guide.
v17 leanback library - Provides user interface widgets for TV apps, particularly for apps
that do media playback.
v7 cardview library - Provides user interface widgets for displaying information cards,
such as media item pictures and descriptions.
Note: You are not required to use these support libraries for your TV app. However, we strongly
recommend using them, particularly for apps that provide a media catalog browsing interface.
If you decide to use the v17 leanback library for your app, you should note that it is dependent on
the v4 support library. This means that apps that use the leanback support library should include
all of these support libraries:
v4 support library
The v17 leanback library contains resources, which require you to take specific steps to include it
in app projects. For instructions on importing a support library with resources, see Support
Library Setup.
Build TV Apps
After you have completed the steps described above, it's time to start building apps for the big
screen! Check out these additional topics to help you build your app for TV:
Building TV Playback Apps - TVs are built to entertain, so Android provides a set of user
interface tools and widgets for building TV apps that play videos and music, and let users
browse for the content they want.
Helping Users Find Your Content on TV - With all the content choices at users' fingertips,
helping them find content they enjoy is almost as important as providing that content. This
training discusses how to surface your content on TV devices.
Building TV Games - TV devices are a great platform for games. See this topic for
information on building great game experiences for TV.
Building Live TV Apps - Present your video content in a linear, "broadcast TV" style with
channels and programs that your users can access through a program guide as well as the
channel up/down buttons.
Run TV Apps
Running your app is an important part of the development process. The AVD Manager in the
Android SDK provides the device definitions that allow you to create virtual TV devices for
running and testing your applications.
To create an virtual TV device:
1.
Start the AVD Manager. For more information, see the AVD Manager help.
2.
3.
Select one of the Android TV device definitions and click Create AVD.
4.
2.
Run the application from your development environment and choose the TV virtual
device as the target.
For more information about using emulators see, Using the Emulator. For more information on
deploying apps from Android Studio to virtual devices, see Debugging with Android Studio. For
more information about deploying apps to emulators from Eclipse with ADT, see Building and
Running from Eclipse with ADT.