Amazon Fire TV 支持 Leanback 的安卓应用剖析


Amazon Fire TV 支持 Leanback 的安卓应用剖析

上次更新时间:2016 年 8 月。

使用 Android Studio 向导创建新的 TV 项目后,您可能会注意到该向导已自动在项目依赖项中包含一些库。

您的 build.gradle 文件将如下所示:

dependencies {
    compile fileTree(dir: 'libs', include: ['*.jar'])

    compile 'com.android.support:leanback-v17:23.4.0'
    compile 'com.android.support:recyclerview-v7:23.4.0'
    compile 'com.android.support:appcompat-v7:23.4.0'
    compile 'com.github.bumptech.glide:glide:3.4.+'
}

让我们来了解为什么这些库中的每一个在支持 Leanback 的项目中都很重要:

  • Leanback: v17 Leanback 支持库是一个标准的安卓支持库,专注于提供 API 和小部件,以简化电视应用的开发。在支持 Leanback 的项目中使用的大多数组件都包含在此库中。
  • RecyclerView: 此库提供了 RecyclerView 类。此类用于显示大型数据集,有效地回收视图、提高性能和节省内存。Leanback 库的许多组件依赖于 RecyclerView。RecyclerView 在安卓中实现了一个非常常见的编程模式,即 Viewholder 模式。掌握此模式对于电视开发很重要(有关 ViewHolder 的更多信息,请参阅此处)。
  • AppCompat: AppCompat 库的主要目的是在多个版本的安卓中提供 API、小部件和工具。它可帮助在多台设备上提供您的安卓应用,特别是当您通过单个同时适用于手持设备和电视的 .apk 二进制文件提供应用时。
  • Glide: 这是一个高效的开源媒体管理和图像加载框架,适用于安卓。它允许您高效地解码、下载和应用云中的图像。启用了 Leanback 的应用的某些组件使用它来高效地获取缩略图和图像,以显示电视应用中内容的预览。

所有这些组件都是为用户创造可靠、一致的电视体验的主要构建块。

主要在线播放应用交互模型

使用媒体在线播放应用时的用户之旅包括三个主要步骤:

使用媒体在线播放应用时的用户之旅。
  1. 浏览以寻找内容: 用户浏览主媒体目录,搜索要播放的有趣内容。
  2. 阅读描述和详细信息: 当某个项目引起用户的兴趣时,他们将专注于阅读内容的描述和详细信息,以便做出决定。
  3. 播放: 当用户找到要观看的内容时,他们将开始播放内容。

支持 Leanback 的安卓应用的主要组件

支持 Leanback 的安卓应用遵循这种交互模式。事实上,支持 Leanback 的应用的三个主要组成部分与媒体在线播放应用交互模型的三个主要步骤相同:

支持 Leanback 的应用的三个主要组成部分。
  1. BrowseFragment: 允许您浏览主应用目录中的内容。
  2. DetailsFragment: 授予对在 BrowseFragment 中选定的特定内容的扩展详细信息的访问权限,并执行“播放内容”等操作。
  3. PlaybackOverlayFragment: 此片段允许您叠加全屏媒体播放器上的媒体控件。

这种采用媒体在线播放应用交互模型的 1:1 映射为开发者提供了一致的项目结构,简化了应用设计和开发流程。

使用像 Leanback 方法所提供的那样定义明确的应用结构还可以创建更简单的入门过程,因为用户很有可能已经与按照相同模式构建的媒体在线播放应用进行交互。