Android TV 初探(二) 创建项目

在上一篇中,我们已经成功连接了盒子,那么接下来,我们就可以来开始我们的第一个TV APP项目了。

首先要明确的是,谷歌推出了一个v17包 LeanBack来致力于TV开发,v17的意思就是说此依赖库最低支持到17,但是目前国内的Android TV市场混乱,很多盒子版本还停留在4.0(14,没见过更低的),最常见的盒子是4.4(19),而类似于天猫魔盒,小米,等盒子系统则是在5.1。正是鉴于此种情况,所以,我创建的Project,module都是和手机APP是一致的。是的,你没有看错错,是一致的!

如果要用LeanBack来创建TV APP,这里有一系列我个人觉得写得很好的文章:

传送门:Android TV 应用开发教程

现在开始创建自己的项目,和手机APP的创建 步骤一致,File -》new Project:


填写name ,包名等信息,随后“next”;


目前市场上,4.0的盒子还是有不少的,最常见的(就自己而言)版本是4.4,因此这里选择最低版本为4.0,项目中目标版本为19



这两步都是常规的操作,选择empty Activity ->next ->改Activity的名称->Finish.

到这一步,项目就算是初步创建完了,和手机app的创建是一致的。

但是,虽然起始项目是一样的,单鉴于电视毕竟还是有极大不同于手机的地方,因此,我们需要做一些设置,来注明我们的APP是一个TV app。

在AndrodiManifest.xml中加入如下的代码(和声明用户权限的标签为同一级别):

<!-- TV 项目一些设置 -->
    <uses-feature
        android:name="android.software.leanback"
        android:required="true" />
    <uses-feature
        android:name="android.hardware.touchscreen"
        android:required="false" />
    <uses-feature
        android:name="android.hardware.type.television"
        android:required="true" />

这三个标签的分别是对APP做了三个要求:要求leanback,不需要触摸屏幕,以及声明app是TV 上的。

这几个标签加完之后,你会发现根标签<manifest>上有报错:

这里提示的信息非常明显,就是说没有发现有

<category android:name="android.intent.category.LEANBACK_LAUNCHER"/>

这一属性的Activity。

之所以有这样的提示,是因为我们已经声明当前应用为TV app,但是Activity的<category>标签却不是它要的。这也是手机app与TVapp的一个区别,当然如果骂我们在创建项目时已经指定是TV项目,则不会出现这样的提示,因为创建的第一个Activity已经默认有这样的一个标签。

需要指出的是,这个提示并不会影响项目的运行,因此我们可以选择不管它。

到这里,第一个Tv项目就算是创建完成,我们可以把这个项目运行到模拟器或者是盒子上了。

如何连接盒子?请点我,让我来告诉你

猜你喜欢

转载自blog.csdn.net/amaoagou112/article/details/80777960