Android TV(一)(入门准备)
以下内容是对Google Android TV文档的翻译,可能存在错误,请读者以官方文档为准
官方地址
在文档中Google对Android TV的提出了许多要求,如果你只是使用它的一些UI元素,你可以不用太注意这些要求。
大屏应用,游戏,内容。
在首页给用户推荐丰富的内容,用户可以通过语音搜索电影,通过流畅、身临其境的游戏吸引用户。
创建Android应用
创建应用或者扩展已经存在的应用在电视上运行。使用Leanback Support library。
入门
官方地址 镜像地址
TV应用在手机和平板电脑上使用相同的项目结构。这意味着你可以修改已经存在的应用使其在电视设备上运行或者在你已知的Android知识上创建新的应用。这部分内容主要是准备开发环境和开发TV应用的一些最低要求。(开发TV应用和手机应用本质是一致的,下面的一些要求只是你要使用到一些Google的库(Leanback support)或者要将应用在GooglePlay上线,否则,要求不必遵守)
支持的媒体格式
Supported Media Formats
DRM
android.drm
ExoPlayer
android.media.MediaPlayer
创建TV项目
这一部分主要关于如何修改一个已存在的Android项目或者创建一个新的项目。
下面是让app在电视设备上运行的主要部分:
1.Activity for TV,在manifest中声明一个activity。
2.TV Support Libraries
要求
1.SDK tools version 24.0.0 或者更高
2.SDK with android5.0 或者更高
3.创建或更新项目(如果你要修改已存在的Android项目应该是该项目的target为5.0或者更高)
可以兼容到API17
声明TV Activity
如果一个应用打算运行在电视设备上它必须在manifest文件中声明一个TV activity。如下:
<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>
声明Leanback support
如果设置required属性为true,你的APP在设备上将只运行leanback ui。
<manifest>
<uses-feature android:name="android.software.leanback"
android:required="false" />
...
</manifest>
声明不要求触摸屏
运行在TV设备上的应用不需要通过触摸屏幕来输入。
<manifest>
<uses-feature android:name="android.hardware.touchscreen"
android:required="false" />
...
</manifest>
改变运行颜色
<resources>
<style ... >
<item name="android:colorPrimary">@color/primary</item>
<item name="android:windowAllowReturnTransitionOverlap">true</item>
<item name="android:windowAllowEnterTransitionOverlap">true</item>
</style>
</resources>
添加TV Supprot Libraries
v17 leanback library 为电视应用程序提供用户界面部件,特别是用于媒体播放的应用程序。
v7 recyclerview library
v7 cardview library
创建电视应用
在完成上述步骤之后,是时候开始为大屏幕构建应用程序了!检查这些额外的主题,以帮助您建立您的应用程序的电视:
构建电视播放应用
帮助用户搜索内容
Building TV Games
Building TV Channels