持續進行的工作模式

本指南以碼表的形式說明構成進行中的工作之元件。 執行中的工作會在使用者參與工作時於時間軸上顯示即時資訊卡,讓使用者在需要時能立即退出或退出。

過程中,你也會學到設計自己的 Glassware 的重要設計、開發和發布提示。

事前準備

GitHub 上提供碼錶的完整來源。在開始之前,請匯入 Android Studio 中,因為本指南需要大量說明。

  1. 在「快速入門」畫面中,依序按一下 [從版本控制登出] > [Git]
  2. Stopwatch 複製本機網址。
  3. 將本機複製網址貼到「Vcs 存放區網址」,然後按一下 [複製]
  4. 然後在下一個畫面中點選 [是]
  5. 點選以下畫面的 [確定]
  6. 按一下「播放」按鈕,建立專案並在已連結的 Glass 上執行。請務必查看範例的 README,瞭解叫用詳情。

課程內容

您將瞭解如何使用 Android SDK 中的元件,建立大量碼表的進行中工作,接著使用 GDK 來連結 Glass 體驗。你將瞭解以下主題:

  • 建立自訂的檢視畫面來繪製即時資訊卡
  • 建立服務以管理即時資訊卡
  • 提供選單,讓使用者將時間軸上的即時資訊卡移除
  • 宣告語音觸發條件,在主要語音選單中啟動碼錶

設計

開始開發之前,請花點時間設計 Glassware如此,您就能充分瞭解哪個 UI 流程最適合 Glass 和所需語音指令,以及資訊卡的外觀。

當然,設計 Glassware 是一道疊代過程,而您現在設計的部分設計將會有所改變,不過一開始就要有良好的工作成果,才能產生絕佳的體驗。

UI 流程

設計 UI 流程是一個簡單的練習,讓您在編寫程式碼之前,以視覺化方式呈現 Glass 軟體。我們隨時都在建構我們打造的 Glassware !

我們來看看碼表的主要 UI 元素,讓您大致瞭解 UI 的運作方式,以及建立您自己的 Glassware 時,此流程有多實用。

主使用者介面

碼表僅包含一個主要流程,因為它相當簡單。

使用者叫用 Glassware 時,系統會先顯示 3 秒倒數計時的插頁式廣告,會在實際碼表開始之前顯示。接著,碼表會累計,直到使用者從時間軸上的 Stop 選單項目移除為止。

語音指令

在設計過程中,您應該儘早發現語音指令。如有需要,語音指令可讓使用者透過 Glass 首頁 (時鐘) 語音選單啟動 Glassware,也是設計 Glassware 的主要環節。

舉例來說,「發布更新」指令適用於發布和清除模型,讓使用者可以說話,而 Glassware 處理該訊息時,不需要再進一步操作。讓使用者可以快速返回之前做的事。

另一方面,如果是「玩遊戲」,您通常會想將使用者出現在啟動畫面,以便先取得他們使用。這個語音指令很可能會觸發沉浸式,因此您可以讓使用者看到額外的畫面和選單來啟動遊戲。一般來說,在使用者下達語音指令後,立即將玩家帶入遊戲體驗中,通常對遊戲體驗造成負面影響。

碼表使用 Start stopwatch 語音指令。使用者啟動語音指令後,Stopwatch 會在短暫的互動式倒數計時畫面立即啟動,最好提供選單項目以啟動。對於進行中的工作,您通常會著重於盡快讓使用者享有可能的體驗。

資訊卡版面配置

無論您要建構沉浸式或即時資訊卡,都應盡可能使用 CardBuilderXML 版面配置

您通常還是需要建立自己的版面配置,因此請按照我們的 UI 指南,打造最佳外觀的 Glassware。

碼表遵循一般版面配置規範,但使用自訂 Android 元件 (例如檢視畫面和版面配置) 提供自訂 UI 版面配置。

開發

開發即時卡片時,您可以使用與 Android 開發作業相同的工具來建立大量的 Glassware,然後使用 GDK 外掛程式中的 API 存取 Glass 專屬功能,例如即時資訊卡和語音指令。

您通常會使用常見的 Android 元件建立 Glassware,但請注意,部分概念有時可能不同。例如,您使用 Android 服務算繪及管理即時卡片,這並不是在傳統 Android 應用程式中使用服務的一般方式。另一個範例是即時卡片沒有自己的 UI 內容,因此您必須使用殼層活動來顯示即時資訊卡的選單。稍後您將在本指南中說明這些元件的建構方式。

「開發」的其他部分會說明碼表的結構結構以及先前匯入的專案的主要元件。建議您立即啟用 Android Studio,以便掌握最新消息。系統會對原始碼本身加註,因此本節將說明每個檔案的高階用途,以及可用於自己的 Glassware 的實用提示。

語音指令

您可以使用 XML 資源檔案建立語音指令,而該指令會指定您使用的指令,然後在 AndroidManifest.xml 檔案中指定 XML 資源。

下列檔案與碼表語音指令相關聯:

  • res/xml/voice_trigger_start.xml - 宣告要使用的語音指令。
  • AndroidManifest.xml - 宣告在使用即時指令時啟動即時卡片服務。

倒數計時

碼表會在實際記錄之前顯示倒數計時,讓使用者註意到即將到來。

下列檔案與倒數計時檢視畫面相關聯:

  • res/layout/card_countdown.xml - 定義倒數計時檢視器的版面配置
  • src/com/google/android/glass/sample/stopwatch/CountDownView.java- 定義倒數計時的檢視畫面。

色度計檢視畫面

這是碼錶的主要檢視畫面。它會顯示倒數計時的間隔時間。下列檔案與計時計檢視相關聯:

  • res/layout/card_chronometer.xml - 定義碼表檢視畫面的版面配置
  • src/com/google/android/glass/sample/stopwatch/ChronometerDrawer.java - 定義如何算繪檢視畫面。即時卡片服務會呼叫這個類別,以抽出即時卡片服務。
  • src/com/google/android/glass/sample/stopwatch/ChronometerView.java:以先前版面配置做為使用者介面的碼錶檢視畫面。

碼表服務

此服務可管理即時資訊卡的生命週期和轉譯作業。下列檔案已與這項服務建立關聯:

  • src/com/google/android/glass/sample/stopwatch/StopwatchService.java - 管理碼錶即時資訊卡並處理服務生命週期。

即時資訊卡沒有專屬的 UI 內容,可用於顯示選單,因為它們會在時間軸的情境下轉譯 UI。

如要突破這項限制,您可以建立顯示在活動頂端的 半透明活動,然後在使用者輕觸即時資訊卡後立即顯示該活動的選單。

  • src/com/google/android/glass/sample/stopwatch/MenuActivity.java - 宣告半透明的選單活動,在活動顯示時立即顯示選單。
  • res/values/styles.xml - 定義套用至選單的半透明樣式。
  • res/menu/stopwatch.xml - 包含必要 [停止] 選單項目的選單資源。

Android 資訊清單

AndroidManifest.xml 檔案描述了 Glassware 的主要元件,以便系統知道如何執行。Charades 的資訊清單宣告下列內容:

  • Glassware 的圖示和名稱。如有多個 Glassware 回應相同的語音指令,Google Glass 會在主選單上顯示這項資訊。
  • 與碼表相關的所有服務和活動。系統需要這項資訊,才能瞭解如何啟動 Glassware 的元件。
  • 透過語音指令和意圖篩選器,在說出語音指令時啟動即時卡片服務。
  • Glassware 的版本代碼。每當這個 APK 的新版本上傳至 MyGlass 時,都必須更新這個程式碼 (通常是版本名稱)。