让Android Wear开发更简单

Android Wear深度解析:让Android Wear开发更简单! 

 

今年三月,谷歌正式将Android Wear作为其Android大家族的全新成员推介给了整个可穿戴技术领域,这款Android操作系统新版本专门针对可穿戴设备进行了精心设计。而就在本届谷歌I/O大会的几个月之后,谷歌公司又相继公布了两款能够运行Android Wear系统的设备,它们分别为三星Gear Live与LG G Watch。

目前这款全新Android操作系统版本尚处于发展的早期阶段,但随着越来越多Android Wear设备类型陆续进入我们的视野——摩托罗拉与HTC也将在今年晚些时候相继推出自己的Android智能手表——现在又是对这款令人振奋的新平台进行全面了解的最佳时机。

本系列教程共分为两个部分,大家在阅读之后将深入了解关于Android Wear的各个方面,包括Android Wear是什么、它如何工作以及怎样开发属于自己的可穿戴设备应用程序。

在今天的第一部分文章里,大家将掌握到开发应用前需要首先涉及的背景信息与最佳实践,而第二部分文章则真正带领各位迈向这款可穿戴系统平台的应用开发之旅。

1. Android Wear到底是什么?

Android Wear操作系统利用蓝牙机制与运行着Android 4.3乃至更高版本的手持设备(单一或多台)相对接。一旦连接完成,可穿戴设备就会从与之匹配的智能手机以及/或者平板设备上获取信息及更新内容,同时便捷地将其显示在用户的腕戴显示器当中。这些更新内容包括但不限于Google Now信息卡、Gmail、谷歌日历以及其它手机通知信息,例如呼入电话及短信信息。

不过Android Wear绝不仅仅是一种接收智能手机与平板设备通知信息的便捷方式。Android Wear同样也可以执行一部分与之匹配的智能手机或者平板设备上的操作任务。举例来说,大家可以利用自己的Android Wear设备播放、暂停或者跳转来自手持平台的音乐曲目。

Android Wear的另一大重要使用体验则由语音命令所构成。语音命令机制允许大家在可穿戴设备及其匹配完成的手持设备上执行多种任务。当用户希望执行一条语音命令时,首先要做的就是说出“Okay,Google”,然后再表达自己需要的操作命令。

在Android Wear上仅仅凭借语音操作就能完成的用户命令包括以下几种:

发送短信、即时消息与电子邮件(‘发给Jessica Thornsby一条短信’,然后说出需要发送的具体内容)。

获取生活中某些常见问题的答案,例如“今天下午是否有雨?”以及“最近的酒吧在哪里?”等。

获取方向指引信息(例如‘将我指引至西大街上的Tamper咖啡厅’)。方向指引内容通过匹配手持设备上的谷歌地图与可穿戴设备上的信息卡形式进行显示。Android Wear设备还会在用户身处需要转弯的位置时振动以发出提醒。

设置提醒信息,并在特定时间或者Android Wear检测到用户处于特定位置附近时加以触发(例如‘提醒我在到家之后把院子里的野兔赶出去’)。

利用Google Keep记录笔记(例如‘记录笔记,我需要多买些牛奶’)。

启动匹配手持设备上的某些应用程序(例如‘打开Facebook’)。

虽然这种连接机制意味着我们的可穿戴应用程序能够利用来自匹配手持设备的大量信息及功能,但其弊端在于、技术人员通常需要为自己的应用开发出两种不同版本,其一运行在可穿戴平台之上、其二则运行于手持设备当中。

2. 了解Android Wear的用户界面

作为一款新型操作系统,Android Wear与我们过去在平板设备及智能手机上所熟知的系统存在很大差异。这种差异主要体现在用户界面的区别之上。

谷歌公司已经为Android Wear开发出一套全新的用户界面机制。就目前而言,大家可以将这套新型用户界面拆分成两大主要组成部分,它们分别是文本流与提示卡。

文本流

与我们原先在智能手机或者平板设备上的应用程序退出及启动操作方式不同,可穿戴应用的主要运作机制围绕着一套以卡片为基础的系统展开。

Android Wear用户界面的核心机制在于垂直排列的提示卡流,它们能够自动根据各项因素提示对应内容,包括当前位置、当前时间以及用户的活动与兴趣偏好。如果大家熟悉Google Now的设计思路,那么文本流也将带给各位似曾相识的感觉——事实上这几乎相当于一套能够自动排列的Google Now信息卡流。

但与大家以往在自己智能手机或者平板设备上使用的Google Now信息卡有所不同,Android Wear同一时间只能显示一条信息卡。用户需要通过纵向扫动在不同可用信息卡之间来回切换。

 Android Wear

尽管我们完全可以为可穿戴设备开发出全屏式应用程序,但谷歌公司建议开发人员尽可能在自己的此类应用中使用文本流作为显示效果基础。

我们的目标应该是创建一款能够生成信息卡的应用程序,并将这些信息卡在合适的时间或者条件下插入到文本流当中、从而保证其发挥最大效力。用户随后可以浏览相关文本流并快速了解应用程序的提示内容以及相关更新信息。

当然,大家也可以在自己的通知信息卡中添加更多信息显示页。用户可以通过向右轻扫来查处这些显示在通知信息卡上的复数内容页面。

下面这幅截图显示的是一张天气信息通知卡,其中包含有今天的天气预报信息、后续页面则用于显示未来几天的天气情况。

 Android Wear

上图所示为可穿戴设备上的主通知信息卡。

 Android Wear

上图所示为可穿戴设备上的附加信息页面。

如果用户在附加页面中继续轻扫,则可能会遇到Android Wear用户界面中的另一大常见元素——操作按钮。顾名思义,操作按钮允许用户执行某项预设操作,其效果则可以影响到可穿戴设备本身或者与之匹配的手持设备。

提示卡

有时候,用户可能无法单独通过通知卡来获得自己需要的相关信息、或者希望能够执行某种特殊任务。在这类情况下,用户可以通过语音命令告知Android Wear自己到底想要实现怎样的使用效果。

当用户说出“Okay,Google”之后语音输入命令就会被激活,这时设备实际上启动了一套特殊的“提示卡”机制、用于接收并执行用户给出的语音指令。

 

这听起来似乎简单而直观、并没有深入挖掘的余地,但提示卡的出现其实给开发人员呈现出极为广阔的施展空间。

当提示卡识别并执行一条语音指令时,背后的运作流程其实是提示卡成功将这条语音指令与某个特定Intent匹配了起来。要让我们的应用程序对语音指令作出响应,大家真正要做的其实是将这些Intent恰当地引入进来。

3. Android Wear库与类

Android Wear API是通过Google Play服务与Android支持库实现交付的。这个话题涵盖范围很广,值得我们下力气深入探讨,不过首先最值得关注的也最具实用性的当数其中的几套库与类。

Android支持库与NotificationCompat

要迈出可穿戴应用程序开发的第一步,最简便的办法就是创建一款手持设备应用程序并保证其能够向与之匹配的可穿戴设备发送通知信息。

要通过这种方式对我们的通知机制加以扩展,则需要使用多种类——大家可以在Android v4支持库当中找到它们的身影:

NotificationCompat.WearableExtender: 此类允许大家向自己的通知机制中添加针对可穿戴设备的扩展功能,因此成为我们最大程度提升Android Wear应用使用体验的根本性前提。

NotificationCompat.Builder: 这一builder类能够确保我们的通知内容得到正确显示,包括在手持设备与可穿戴设备之上。

NotificationManagerCompat: 此类能够确保我们的通知机制正确支持可穿戴设备上的各项功能。在满足通知信息交付的条件之下,请大家务必确保自己使用的是NotificationManagerCompat而非NotificationManager。如果大家使用了NotificationManager,那么某些NotificationCompat.WearableExtender功能可能将无法正常起效。

NotificationCompat.Action.WearableExtender:此类能够对可穿戴设备上的通知操作方式进行扩展。每项操作都需要拥有自己的标题、用于表现操作的图标以及操作被触发时内容发送所指向的Intent。

要将Android v4支持库添加到我们的开发环境当中,大家首先需要打开Android SDK管理器、而后下载并安装对应软件包:如果大家使用的是Eclipse,则需要下载并安装Android Support Library包;如果大家使用的是Android Studio,则需要下载并安装Android Support Repository。

 Android Wear

可穿戴用户界面支持库

这套非官方库能够帮助大家为自己的应用程序设计出适用于可穿戴设备平台的用户界面,其中包括符合最佳实践要求的用户界面功能部件。

作为这套支持库当中重要性最高的组成部分,BoxInsetLayout布局管理器值得我们着重强调,它允许大家在方形与圆形可穿戴设备上直接使用同一套布局方案。

如果大家使用的是Android Studio开发环境,那么这套库会在各位利用项目导航创建可穿戴应用程序时被自动囊括在内。

4. 最佳实践

在大家启动自己的开发环境并将自己的奇思妙想付诸行动之前,最重要的一点就是首先考虑如何才能打造出一款卓越的Android Wear应用程序——换言之,我们该怎样为应用用户提供无与伦比的使用体验。 

在本系统文章的第二部分中,我们将共同探讨在Android Wear应用程序的开发过程中、大家应该谨记并遵循哪些最佳实践方案。

创建出便于查看的应用程序

开发出卓越Android Wear应用程序的关键在于时刻牢记我们在使用传统手表时所积累下来的使用习惯及特性。在佩戴传统手表时,我们需要长时间盯着表盘来获取信息吗?或者说,我们只不过在一瞥之间就能了解情况、保证所有必要信息都尽在掌握?

用户无疑希望能在自己的智能手表上获得同样的交互体验,也就是说在实现功能扩展的同时、又能继续保持普通手表那简单快捷的查看感受。有鉴于此,设备出成功可穿戴应用的前提条件之一正是使其尽可能易于查看。要想设计出这种易于查看的应用程序及通知信息卡,大家需要时刻谨记并遵循以下几项指导意见。

一次显示一条信息内容

大家的通知信息卡在同一时间应该只显示一条信息内容。如果大家需要交付更多信息,则最好是使用附加页面的方式、而不应把太多内容一股脑塞进信息卡里。

尽可能简化文本表述

我们的通知信息卡中应该只包含关键性词汇与短语,而不要采用完整的句子。这里与大家分享一条简化文本表述的小技巧,即将单一图标与单一数值相匹配。举例来说,如果想要表达“今天有50%的可能会出现降雨”,那么易于查看的设计方案可以直接使用多云与降雨图标并为其添加“50%”这一数值标签。

增加字体尺寸

通过增加字体尺寸的方式,我们能够保证用户遥遥一瞥即轻松掌握可穿戴设备上的显示内容。当大家使用大字体作为显示手段时,单一信息卡中所能容纳的信息总量也将有所降低,请务必注意这一点。

合理使用背景图片

常言常大哥说得好,一幅图片胜过千言万语。大家可以通过添加背景图片的方式让通知信息卡中的内容变得更易查看也更便于理解。

如果能够选择一幅简洁而直观的背景图片,那么应用程序所生成的不同通知信息往往能够获得更出色的显示效果与使用感受。举例来说,如果大家正在设计一款向用户通知当前交通状况的可穿戴应用程序,那么在用户最常途经的道路信息中添加三种背景图片就能很好地表达相关含义——一张为开阔而通畅的道路、一张为包含稀疏车辆的道路、最后一张则为拥堵不堪的道路。在运行过程中,应用程序在生成新的信息卡时可以根据相关数值选择最仰天大笑的背景图像作为提示性信息。即使用户正忙于其它琐事而无法具体查看设备上的内容,也仍然足以通过其中的背景图片获得相当有用的概括性结论。

 Android Wear

保持简单的交互方式

这里我们要再次强调,请务必考虑到用户在使用普通手表时的实际习惯。试想一下,我们真的愿意认真坐下、拿出几分钟时间来研究手表上的显示内容吗?答案显然是否定的,那根本不是手表、而是谍报装置。

既然名为智能手表,我们就要保证其能够像普通手表一样让用户在行进过程中轻松掌握实时信息并完成自己需要的操作。也就是说,通过对可穿戴应用程序的精心设计,智能手表完全可以保持普通手表的这一优良传统。用户希望自己的可穿戴应用程序能够提供必要的提示信息,但不愿意通过复杂的菜单导航与点触选择来进行操作。

考虑到这一点,请务必确保我们的应用程序只在绝对必要的情况下才要求用户进行内容输入。而在这种极为特殊的状况下,我们也要确保用户能够尽可能快速且轻松地完成输入及交互操作,例如点触、轻扫以及语音指令。请注意,任何稍微复杂一点的操作方式在可穿戴设备那小小的屏幕上都会成为用户避之惟恐不速的噩梦。

如果我们的应用程序实在不可避免地需要引入一些更复杂的交互机制,也请各位不要强迫用户必须在可穿戴平台上完成这些操作。相反,将他们引导到与之相匹配的手持设备之上,在这里他们能够通过大尺寸屏幕完成这项任务、而后再返回可穿戴设备获取操作结果。

在下面这幅截图中,点触操作按钮会启动用户匹配智能手机上的相关应用,他们将在这里完成获取响应所必需的具体交互。

 Android Wear

尽可能不使用主动通知机制

顾名思义,可穿戴设备是指能够直接与用户皮肤接触的电子装置。这意味着任何一次主动通知——也就是那些会导致设备振动的通知信息——都会引起用户的注意,而且几乎不可能受到忽略。

从某种角度来说,这当然是件好事。举例而言,当我们将可穿戴设备与智能手机进行匹配之后,也就再不必担心自己因为把手机放在包里而错过某些重要的来电了。然而正是由于这类主动通知内容几乎不可能被忽略,一款可穿戴应用如果频繁发出主动通知、则很快会导致用户变得暴躁不堪。

作为需要严重遵守的一般性规则,我们的可穿戴应用程序应该只在接收到与联系人以及当前实时事件相关的信息时才通过主动通知机制进行传递,例如与之匹配的智能手机收到一条短信消息。在不符合此类条件的情况下,我们的应用程序应该转而生成一份信息卡并将其插入文本流当中,以备用户在下一次抬起手腕时进行查看。

总而言之,请至少保证自己的可穿戴应用程序在主动通知的使用频率上低于智能手机或者平板设备版本。

总结

在本系列指导教程的第一部分中,大家已经深入了解了Android Wear操作系统的各项特性以及由此给用户及开发人员带来的影响。此外,各位还掌握到开发卓越可穿戴应用程序时所应遵循的最佳实践。

在第二部分文章中,我将向大家说明如何设置自己的开发环境并开始为Android Wear平台开发应用程序。

英文链接:http://code.tutsplus.com/articles/introduction-to-android-wear-the-basics--cms-22042