Honeycomb MR1

欢迎使用 Android 3.1!

Android 3.1 是一个增量平台版本,它对 Android 3.0 中引入的许多功能进行了改进。它基于 Android 3.0 中提供的针对平板电脑优化的相同 UI 和功能,并为用户和开发者添加了多项新功能。本文档概述了 Android 3.1 中引入的新功能和技术。有关新开发者 API 的更详细信息,请参阅API 概览文档。

有关 Android 3.0 的高级介绍,请参阅Android 3.0 平台亮点

新用户功能

图 1. Android 3.1 主屏幕。

UI 改进

Android 3.1 平台添加了多种改进,使界面更加直观和高效。

UI 过渡在整个系统和标准应用中都得到了改进。“启动器”动画经过优化,可在应用列表之间实现更快、更流畅的过渡。颜色、位置和文本的调整使 UI 元素更容易查看、理解和使用。无障碍功能通过整个 UI 中一致的听觉反馈以及允许用户自定义触摸保持间隔以满足其需求的新设置得到了改进。

现在可以更轻松地在五个主屏幕之间导航——轻触系统栏中的“主页”按钮会带您进入最近使用的主屏幕。“设置”提供了改进的内部存储视图,显示了更多文件类型使用的存储空间。

USB 配件连接功能

Android 3.1 添加了对各种 USB 连接外设和配件的广泛平台支持。用户可以连接多种类型的输入设备(键盘、鼠标、游戏控制器)和数码相机。应用可以利用平台的 USB 支持将连接功能扩展到几乎任何类型的 USB 设备。

该平台还新增了对 USB 配件的支持——设计用于连接到 Android 设备作为 USB 主机的外部硬件设备。当配件连接时,框架将寻找相应的应用并提供启动该应用。配件还可以向用户提供一个 URL,以便在未安装相应应用时下载。用户可以与应用互动以控制机器人控制器、扩展坞、诊断和音乐设备、信息亭、读卡器等带电配件。

平台的 USB 功能依赖于设备硬件中的组件,因此特定设备上对 USB 的支持可能有所不同,并由设备制造商决定。

图 2. “最近应用”菜单现在可展开且可滚动。

展开的“最近应用”列表

为了改进多任务处理并立即视觉访问更多应用,“最近应用”列表现在可展开。用户现在可以垂直滚动最近应用列表,查看所有正在进行的任务和最近使用的应用的缩略图,然后轻触缩略图跳回该任务。

可调整大小的主屏幕微件

为了更灵活地自定义主屏幕,用户现在可以使用系统提供的拖动条调整其主屏幕微件的大小。用户可以水平和/或垂直扩展微件,以包含更多内容,具体取决于每个微件的支持情况。

支持外部键盘和指向设备

用户现在可以将几乎任何类型的外部键盘或鼠标连接到其 Android 设备,以创建熟悉的环境并更高效地工作。可以通过 USB 和/或蓝牙 HID 同时连接一个或多个输入设备,任意组合均可。在大多数情况下,无需特殊配置或驱动程序。连接多个设备时,用户可以使用系统栏提供的键盘设置方便地管理活动的键盘和输入法。

对于指向设备,该平台支持大多数带单按钮和可选滚轮的鼠标类型,以及轨迹球等类似设备。连接这些设备后,用户可以使用指向、选择、拖动、滚动、悬停和其他标准操作与 UI 互动。

支持操纵杆和游戏手柄

为了让平台更适合游戏,Android 3.1 添加了对通过 USB 或蓝牙 HID 连接的大多数 PC 操纵杆和游戏手柄的支持。

例如,用户可以通过 USB(非蓝牙)连接 PlayStation®3 和 Xbox 360® 游戏控制器、Logitech Dual Action™ 游戏手柄和飞行摇杆,或赛车控制器。默认情况下不支持使用专有网络或配对的游戏控制器,但总的来说,平台支持大多数可连接到 PC 的操纵杆和游戏手柄。

稳健的 Wi-Fi 网络连接

Android 3.1 添加了稳健的 Wi-Fi 功能,以确保用户及其应用在家、工作和外出时都能充分利用高速 Wi-Fi 访问。

新的高性能 Wi-Fi 锁使应用即使在设备屏幕关闭时也能保持高性能 Wi-Fi 连接。用户可以利用此功能长时间播放连续流媒体音乐、视频和语音服务,即使设备处于闲置状态且屏幕关闭。

用户现在可以通过在“设置”中长按每个 Wi-Fi 接入点来配置其 HTTP 代理。浏览器在通过接入点与网络通信时使用 HTTP 代理,其他应用也可以选择这样做。该平台还提供用户定义的 IP 和代理设置的备份和恢复功能。

平台新增了对首选网络分流 (PNO) 的支持,这是一种后台扫描功能,可在 Wi-Fi 需要长时间持续可用时节省电池电量。

更新的标准应用集

Android 3.1 平台包含一套更新的标准应用,这些应用已针对大屏幕设备的使用进行了优化。以下部分重点介绍了一些新功能。

图 3. 浏览器中的“快速控制”菜单。

浏览器

浏览器应用包含各种新功能和 UI 改进,使查看网页内容更简单、更快、更方便。

可从浏览器“设置”访问的“快速控制”UI 已得到扩展和重新设计。用户现在可以使用控制项查看打开标签页的缩略图并关闭活动标签页,以及访问溢出菜单以立即访问“设置”和其他控制项。

为了确保一致的浏览体验,浏览器将其对流行网络标准(如 CSS 3D、动画和 CSS 固定定位)的支持扩展到所有网站,无论移动端还是桌面端。它还添加了对 HTML5 视频内容嵌入式播放的支持。为了更轻松地管理收藏内容,用户现在可以本地保存网页以供离线查看,包括所有样式和图像。为了方便访问 Google 网站,改进的自动登录 UI 允许用户快速登录并在多个用户共享设备时管理访问权限。

为了获得最佳性能,浏览器增加了对使用硬件加速渲染的插件的支持。页面缩放性能也显着提高,使导航和查看网页更快。

图库

图库应用现在支持图片传输协议 (PTP),以便用户可以通过 USB 连接相机并一触即可将照片导入图库。该应用还会将照片复制到本地存储空间,并提供指示器让用户查看可用空间。

图 4. 主屏幕微件现在可以调整大小。

日历

日历网格更大,可提高可读性和触控目标准确性。此外,用户可以通过隐藏日历列表控制项来为网格创建更大的查看区域。日期选择器中的控制项经过重新设计,使其更容易查看和使用。

通讯录

通讯录应用现在允许您使用全文搜索更轻松地查找联系人。搜索会返回联系人存储的所有字段中的匹配结果。

电子邮件

回复或转发 HTML 邮件时,电子邮件应用现在会将纯文本和 HTML 正文作为多部分 MIME 邮件发送。这确保了邮件能为所有收件人正确格式化。IMAP 帐户的文件夹前缀现在更易于定义和管理。为了节省电池电量并最大限度地减少移动数据使用,应用现在仅在设备连接到 Wi-Fi 接入点时才从服务器预取电子邮件。

更新的主屏幕微件让用户能够快速访问更多电子邮件。用户可以触摸微件顶部的电子邮件图标,以循环切换收件箱、未读邮件和已加星标等标签。微件本身现在可以水平和垂直调整大小。

企业支持

用户现在可以为每个连接的 Wi-Fi 接入点配置 HTTP 代理。这允许管理员与用户一起设置代理主机名、端口和任何旁路子域名。连接 Wi-Fi 接入点时,浏览器会自动使用此代理配置,其他应用也可以选择使用。代理和 IP 配置现在可在系统更新和重置时进行备份和恢复。

为了满足平板电脑用户的需求,该平台现在允许在具有模拟存储卡和加密主存储设备的设备上接受“加密存储卡”设备政策。

新开发者功能

Android 3.1 平台增加了改进和新功能,开发者可以基于这些功能在平板电脑和其他大屏幕设备上创建强大且引人入胜的应用体验。

Open Accessory API,用于与外设进行丰富的互动

Android 3.1 引入了一个新的 API,用于将硬件配件与在平台运行的应用集成。该 API 提供了一种方式,可以在广泛的外设之间进行互动,从机器人控制器到音乐设备、健身车等等。

该 API 基于内置于平台中的新的 USB(通用串行总线)堆栈和服务。该平台提供用于发现和识别连接的硬件以及通知相关应用硬件可用的服务。

当用户插入 USB 配件时,平台会接收产品名称、配件类型、制造商和版本等识别信息。平台会与配件建立通信,并使用其信息通知并启动目标应用(如果可用)。或者,配件可以提供一个 URL,让用户查找和下载适用于该配件的应用。这些发现功能使首次设置对用户而言更加容易,并确保有适当的应用可用于与连接的硬件进行互动。

对于应用开发者和配件制造商而言,配件模式提供了许多吸引用户并与连接的硬件构建强大互动体验的新方式。

要了解有关如何开发与配件交互的应用的更多信息,请参阅USB 配件文档。

USB 主机 API

Android 3.1 提供了内置的平台支持,支持 USB 主机模式,并公开了一个 API,允许应用管理连接的外设。在支持主机模式的设备上,应用可以使用该 API 识别连接的设备(如音频设备、输入设备、通信设备、集线器、相机等)并与其通信。

要了解有关如何开发与 USB 设备交互的应用的更多信息,请参阅USB 主机文档。

来自鼠标、操纵杆和游戏手柄的输入

Android 3.1 扩展了输入事件系统,以支持各种新的输入源和动作事件,适用于所有视图和窗口。开发者可以在这些功能的基础上构建应用,让用户除了使用键盘和触摸屏外,还可以使用鼠标、轨迹球、操纵杆、游戏手柄等设备与应用进行互动。

对于鼠标和轨迹球输入,平台支持两种新的动作事件操作:滚动(水平或垂直),例如来自滚轮;以及悬停,它在未按下按钮时报告鼠标位置。应用可以根据需要以任何方式处理这些事件。

对于操纵杆和游戏手柄,平台提供了大量动作轴,应用可以从给定输入源使用这些轴,例如 X、Y、Hat X、Hat Y、旋转、油门、压力、大小、触摸、工具、方向等。如有需要,开发者还可以定义自定义轴,以其他方式捕获动作。平台将动作事件批量提供给应用,应用可以查询批处理中包含的移动详情,以便更高效、更精确地处理事件。

应用可以查询连接的输入设备列表以及每个设备支持的动作范围(轴)。应用还可以处理来自单个输入设备的多个输入和动作事件。例如,一个应用可以从单个输入设备使用鼠标、操纵杆和鼠标事件源。

可调整大小的主屏幕微件

开发者现在可以创建用户可以水平、垂直或同时调整大小的主屏幕微件。只需在微件声明中添加一个属性,微件即可水平、垂直或同时调整大小。这使用户能够自定义微件内容的显示方式,并在其主屏幕上显示更多内容。

MTP API,用于与外部相机集成

在 Android 3.1 中,新的 MTP(媒体传输协议)API 允许开发者编写直接与连接的相机和其他 PTP 设备交互的应用。新的 API 使应用能够轻松接收设备连接和移除时的通知,管理这些设备上的文件和存储空间,以及在这些设备之间传输文件和元数据。MTP API 实现了 MTP 规范的 PTP(图片传输协议)子集。

RTP API,用于控制音频流会话

Android 3.1 公开了其内置 RTP(实时传输协议)堆栈的 API,应用可以使用该 API 直接管理按需或交互式数据流。特别是,提供 VOIP、一键通、会议和音频流的应用可以使用该 API 启动会话并通过任何可用网络传输或接收数据流。

性能优化

Android 3.1 包含各种性能优化,有助于使应用更快、更响应。一些优化包括:

  • 新的 LRU 缓存类使应用能够从高效缓存中受益。应用可以使用该类减少计算或从网络下载数据所需的时间,同时为缓存数据保持合理的内存占用。
  • UI 框架现在支持在硬件加速视图中进行部分无效,这使得这些视图中的绘制操作更高效。
  • 新的图形方法 setHasAlpha() 允许应用提示给定位图是不透明的。这为某些类型的 blit 操作提供了额外的性能提升,对于使用 ARGB_8888 位图的应用特别有用。