天天看点

Android TV 开发简介

[原文](http://www.tuicool.com/articles/IJnQRz)

0.概述

智能电视近两年可谓发展迅猛,据艾瑞咨询数据显示,2015年国内智能电视终端销售量将达到3556.8万台,预计在2016年用户量突破一亿。不同于手机端群雄割据的局面,Google开发的Android TV系统,凭借其广泛的兼容性,几乎占据了智能电视的全部市场。

简单来看,TV端具有Phone和Pad都不具备的大屏,是移动端的一个大屏扩展。但是,窃以为还不止于此,TV侧的内容,不同于强调私密性的移动侧内容,更加强调多人共享的属性。移动互联网的发展,方便人们生活的同时,也割裂了人与人在现实世界中的交流,我们似乎缺少了一种能在现实生活中互相交流的手段,而用户对TV的使用习惯恰恰可以帮助人们聚在一起。试想一下小时候一家人围坐在电视前吃饭,或者周末酒吧一群狐朋狗友一起看球,这些都是电视才具备的“凝聚力”。而更进一步的Android TV支持种类繁多的输入、输出设备,我们可以做的不仅仅是看电视,这里可深挖、可想象的空间还很大。所以,不少传统的家电厂商,已经将TV端视作未来智能家居、客厅娱乐的核心展示环节,一些主打内容的互联网产品也都抓住风口,相继推出了TV端app。

1.新建一个AndroidTV工程

Android TV工程使用和Android Phone工程相同的文件结构,一样可以使用Android Studio+Gradle的方式进行编辑和构建。(这种相似性意味着你可以轻微修改现有的Phone端app以使其可以在TV端运行。)

当我们需要新建一个TV端工程,或者是修改Phone端的app以使其可以在TV端运行时,需要考虑使用以下组件:

Activity for TV (必须的),在你的AndroidMainifest文件中,声明一个在TV端运行的Activity

TV Support Libraries(可选的),这个类库为开发人员提供了一些用于TV端的API和UI控件,常用的包括:

    v17 leanback library 一整套google推荐的TV端界面风格

    v7 recyclerview library 一个用于管理长列表的具有回收能力的控件

    v7 cardview library 卡片化风格的UI控件
           

2.前期准备

在你开始构建你的TV app之前,你需要:

更新你的SDK tools到24.0.0或者更高版本

更新你的SDK到Android 5.0(API 21) 或者更高版本
           

3.描述一个TV Activity

在AndroidMainifest在声明一个Activity,这与普通的Phone端的Activity的声明并没有什么不同。下面的例子展示了一个基本的AndroidMainifest: