实施和设计适用于电视的 Android 应用程序

Posted

技术标签:

【中文标题】实施和设计适用于电视的 Android 应用程序【英文标题】:Implement and design Android apps for TV 【发布时间】:2014-12-15 03:08:42 【问题描述】:

我想创建一个电视就绪应用。由于这仍然是一个安静的新话题,我问自己这些问题:

为了获得出色的电视体验,我需要注意什么? 我可以与我的电视应用共享代码吗? 我可以重复使用布局、字符串和其他资源吗?

另外,我目前无法在网络上找到有用的资源,尤其是针对 Amazon Fire TV。我发现许多资源已过时或已移动,现在已成为死亡链接。

是否有一些实施出色应用的最佳实践?

【问题讨论】:

【参考方案1】:

这个答案仍在工作中


为了获得出色的电视体验,我需要注意什么?

android 文档Building Layouts for TV 是一个很好的起点。亚马逊Design and User Experience Guidelines。就我目前的知识而言,我认为为两个电视平台混合这些资源应该没有问题。

我也会检查这些资源:

Design Guidelines: Android TV Design Guidelines: Style for TV

我可以与我的电视应用共享代码吗?

您可以共享您当前使用的所有代码。您只需要扩展清单以确保它可以正确显示在电视上。

要在 Android TV 启动器上集成,您需要添加此类别以进行集成:

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

阅读更多关于here的信息。

亚马逊以另一种安静的方式做到这一点,现在我不熟悉它,但似乎你需要先发布你的应用程序才能获得启动器集成。但您始终可以使用设置和管理应用程序来启动您的应用程序。

我可以重复使用布局、字符串和其他资源吗?

是的,你可以。我发现您可以使用-w960dp 后缀来限制电视平台的资源。无需创建单独的应用程序来支持电视。

是否有一些实施出色应用的最佳做法?

注意我上面提到的那个后缀,您为所需的目标设备类型定义了不同的资源。

所以如果你使用这个布局:

<TextView
    xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_
    android:layout_
    android:text="@string/hello"/>

您可以定义这些资源:

values/strings.xml

<string name="hello">Hello mobile</string>

values-w600dp/strings.xml

<string name="hello">Hello tablet</string>

values-w960dp/strings.xml

<string name="hello">Hello TV</string>

这将为所有平台产生正确的问候(可穿戴设备始终是一个单独的项目)。

【讨论】:

【参考方案2】:

我已经开始编写series of articles 来处理为 Android TV 创建应用程序的多个方面。每次发布新答案时,我都会更新此答案:

编辑

我刚刚发表了第二篇文章。列表已更新。

    Building for Android TV Let's go custom Bells and whistles

【讨论】:

+1 不错,但我也建议您看看 Fire TV。 Leanback 工具也可以在该平台上使用。详细而言,值得注意的是,FireTV 使用在 API 17 上运行,其 API 级别是该库的最低级别。 很高兴知道这一点,谢谢@rekire!我现在正在试一试(在办公室里)。【参考方案3】:

在深入构建之前,您应该尝试将应用创意作为原型并测试这种电视体验。

在创建应用之前,您无需购买设备,您可以开始将其构建为 html/JS 网站,以敲定您的想法并快速调整外观。

测试“10 英尺”电视体验的选项

    将您的计算机直接连接到您的电视输入,例如 HDMI。

    如果您有带网络浏览器的智能电视,请将测试站点加载到 浏览器。这确实会成为令人耳目一新的变化的痛苦。

    如果您想在交互性方面更进一步,请尝试http://www.jumpwick.com 与选项一或二。

    它可以让您测试使用手机在电视上控制您的应用 所有基于浏览器的 (完全披露我在产品 http://www.jumpwick.com 上工作,您当然可以在没有产品的情况下使用选项 1 或 2 创建您的应用程序)。

【讨论】:

以上是关于实施和设计适用于电视的 Android 应用程序的主要内容,如果未能解决你的问题,请参考以下文章

ANDROID STUDIO - 电视应用程序(我的安卓电视应用程序仅适用于模拟器电视)

使用适用于 Android 移动应用程序的 Anymote 库与 Android TV 通信

应用被拒绝。适用于 Android TV 的 Google Play 资格问题

是否有任何已发布的实施适用于 Android 的 Google Latitude API 的示例? [关闭]

适用于 Android 和 iOS 应用程序的 Firebase

适用于 Android 应用 (AS3) 的 Chromecast 和 Air