65.9K
CodeProject 正在变化。 阅读更多。
Home

为 Google Glass 构建应用程序

2015 年 4 月 7 日

CPOL

4分钟阅读

viewsIcon

10547

本文讨论了为 Glass 构建应用程序的设计注意事项,以及如何使用 Mirror API 和 GDK 构建混合 Glass 应用程序。

Intel® Developer Zone 提供用于跨平台应用程序开发、平台和技术信息、代码示例以及同行专家的工具和操作指南,以帮助开发人员进行创新和取得成功。加入我们的 Android物联网Intel® RealSense™ 技术Windows 社区,下载工具,访问开发套件,与志同道合的开发人员分享想法,并参加黑客马拉松、竞赛、路演和本地活动。

Google 的 Glass* 可穿戴计算设备(图 1)是头戴式光学显示器。Glass 由富士康制造,Google 构建,运行 Android* 4.4x 和双核 SoC。

图 1. 作者:Danlev (原创作品) [CC BY-SA 3.0 (http://creativecommons.org/licenses/by-sa/3.0)],通过 Wikimedia Commons

本文讨论了为 Glass 构建应用程序的设计注意事项,以及如何使用 Mirror API 和 GDK 构建混合 Glass 应用程序。

设计考虑因素

设计要点:Glass 具有类似时间线的界面,显示在屏幕上。向后滑动显示天气等活动事件,向前滑动显示收到的呼叫、拍摄的照片等。

据估计,普通用户在查看 Glass 屏幕上的时间将少于 4 秒。这带来了一些有趣的设计挑战和机遇。

建议应用程序应

  1. 情境化:情境化应用程序提供与用户环境相关的信息,并且用户只需几秒钟的注意力。例如,用户可以在前往机场接朋友之前查看特定航班的到达时间。
    设计:实时卡片
    实时卡片出现在时间线的“现在”部分,并显示当前信息。
  2. 快速更新:类似新闻故事的应用程序应只包含标题,并作为快速更新显示,而不是完整的故事。还建议开发人员提供朗读选项,以便用户可以收听完整的故事。
    设计:静态卡片
    静态卡片出现在时间线的“过去”部分,用户可以在方便的时候进行回顾。
  3. 不要设计需要大量用户输入的应用程序。大多数信息应通过一次滑动即可获得。包含一些操作按钮,并保持其简单且可通过语音控制。

构建混合 Glass 应用程序

Glass 应用程序通常分为两种类型

Mirror API 帮助您构建与 Glass 交互的基于 Web 的服务。大部分代码运行在云端,而不是 Glass 本身。Google 提供了 Mirror API 入门项目,以帮助开发人员在编写实际代码之前探索不同的 API 和输出。

Glass Development Kit (GDK) 是 Android SDK 的一个附加组件,可帮助您构建直接在 Glass 上运行的应用程序。GDK 可以访问 Glass 上的传感器(如加速计和 GPS)以及相机等硬件功能。

混合 Glass 应用程序是指同时使用 Mirror API 和 GDK 的应用程序。我们代码演练的应用程序就是一个混合应用程序。

代码示例演练

该应用程序旨在帮助 STEM 教师和学生获得有效的教育体验。此 Glassware 应用使用 Mirror API 接收教师提供的实验室实验说明,并将步骤发布到学生的 Google Glass 设备上。然后,学生按照步骤进行实验。每条说明都附有该步骤结果的图片,以帮助学生验证他们是否正确进行实验。还有一个朗读选项,可以为学生朗读说明。实验结束后,学生可以通过拍照并将其发送给教师来提交最终结果。

Google 提供 Java*、Python* 和 PHP* 的 Mirror API 快速入门项目。在此示例中,我们使用 Java 入门项目,该项目创建了调用 Mirror API 所需的所有文件。将您的逻辑添加到 Mainservlet.java 文件中。

混合应用程序

此应用程序结合使用了相机和 Mirror API。学生使用相机拍摄最终产品的照片。由于 Mirror API 无法访问设备功能,因此我们使用 GDK 创建一个 Java 程序来处理图像捕获。我们将此程序包命名为 Chembuddy,并将其放在与 Mirror API 项目相同的包中。

Chembuddy/MainActivity.java

	Intent intent = new Intent(android.provider.MediaStore.ACTION_IMAGE_CAPTURE);
	startActivityForResult(intent, 0);

这与使用 Camera Intent 的 Android 应用程序类似。

在您的 MainServlet.java 文件中包含以下代码片段以调用 GDK 代码。

	//Communicating with GDK to invoke the native camera

	MenuItem item = new MenuItem();
	item.setId("takePicture");
	item.setAction("OPEN_URI");
	item.setPayload("glassware://com.example.chembuddy");

setPayload 函数包含 MainActivity.java 文件的路径,该文件负责调用相机。

设置朗读选项

在卡片上创建一个菜单项,并将其操作设置为 READ_ALOUD。

	MenuItem item = new MenuItem();
	item.setId("readaloud");
	item.setAction("READ_ALOUD");

使用字符串变量 speakabletext 指向您希望朗读的卡片上的文本。

	speakabletext = el.getElementsByTag("p").first().text();

将此值设置为 timelineItem

	timelineItem.setSpeakableText(speakabletext);

请参阅参考部分中的 GitHub 链接以获取完整的源代码。

摘要

Glass 为应用程序开发人员提供了令人兴奋的机会,可以构建有益于用户的、情境感知的应用程序。在应用程序设计上花费的精力应与开发同样重要。牢记为可穿戴设备设计应用程序的一般准则非常重要。

参考文献

https://github.com/GayathriMurali/ChemBuddyGlassware

https://github.com/GayathriMurali/ChemBuddy

https://developers.google.com/glass/develop/overview

© . All rights reserved.