Pattern attività in corso

Questa guida descrive i componenti che compongono un'attività in corso sotto forma di cronometro. Un'attività in corso mostra una scheda attiva nella sequenza temporale per tutto il tempo in cui un utente è impegnato in un'attività e gli consente di entrare e uscire dalla scheda in tempo reale in base alle esigenze.

Lungo il percorso, imparerai anche suggerimenti su progettazione, sviluppo e distribuzione importanti per realizzare i tuoi prodotti in vetro.

Prima di iniziare

Il codice sorgente completo di Cronometro è disponibile su GitHub. Importalo in Android Studio prima di iniziare, perché questa guida è molto dettagliato.

  1. Nella schermata Avvio rapido, fai clic su Check out from version Control > Git.
  2. Copia l'URL di clone da Cronometro.
  3. Incolla l'URL del clone nell'URL del repository Vcs e fai clic su Clona.
  4. Fai clic su nella schermata seguente.
  5. Fai clic su OK nella schermata seguente.
  6. Crea il progetto ed eseguilo su Glass connesso facendo clic sul pulsante Riproduci. Assicurati di controllare l'oggetto README dell'esempio per i dettagli delle chiamate.

Obiettivi didattici

Imparerai a utilizzare i componenti dell'SDK per Android per creare la maggior parte dell'attività in corso di Cronometro e, successivamente, la GDK per collegarti all'esperienza Glass. Ecco un elenco di argomenti che verranno trattati:

  • Creazione di una visualizzazione personalizzata per disegnare sulla scheda live
  • Creazione di un servizio per gestire la scheda pubblicata
  • Offrire un menu che consenta agli utenti di rimuovere la scheda pubblicata dalla sequenza temporale.
  • Dichiarazione di un trigger vocale per avviare il cronometro dal menu vocale principale

Design

Prima di iniziare a sviluppare, dedica un po' di tempo alla progettazione dei tuoi contenuti in vetro. In questo modo avrai un'idea dei flussi di UI che funzionano meglio su Glass, del comando vocale che utilizzerai e dell'aspetto delle schede.

Ovviamente, la progettazione di Glassware è un processo iterativo e alcune delle cose che progetti ora cambieranno, ma avere una buona parte di questo lavoro all'inizio è fondamentale per creare un'esperienza ottimale.

Flusso UI

La progettazione del flusso dell'UI è un esercizio semplice che ti consente di visualizzare i tuoi Glassware prima di scrivere una riga di codice. Lo facciamo sempre per i prodotti in vetro che realizziamo.

Esaminiamo gli elementi principali dell'interfaccia utente di Cronometro, per farti un'idea di come funziona l'UI e di quanto possa essere utile questo processo quando crei i tuoi prodotti in vetro.

UI principale

Il cronometro contiene un solo flusso principale, perché è un'esperienza piuttosto semplice.

Quando gli utenti richiamano Glassware, visualizzano un interstitial con un conto alla rovescia di 3 secondi prima dell'avvio del cronometro effettivo. Il cronometro quindi conta fino a quando l'utente non lo rimuove dalla sequenza temporale con una voce di menu Stop.

Comando vocale

Dovresti trovare un comando vocale all'inizio del processo di progettazione. I comandi vocali consentono agli utenti di avviare Glassware dal menu vocale di Glass Home (scheda dell'orologio), se necessario, e sono una parte importante del tuo modo di progettare Glassware.

Ad esempio, il comando Pubblica un aggiornamento funziona bene in un modello accelero e dimenticata, in cui gli utenti pronunciano il testo e il Glassware lo elabora senza alcun intervento da parte dell'utente. In questo modo gli utenti possono tornare rapidamente a ciò che stanno facendo.

D'altra parte, per qualcosa come Giocare, in genere è consigliabile indirizzare gli utenti su una schermata iniziale, in modo che possano orientarsi prima. Poiché molto probabilmente questo comando vocale avvia un'immersione, puoi aspettarti che gli utenti possano vedere schermate e menu aggiuntivi per iniziare il gioco. Lanciare immediatamente gli utenti in un'esperienza di gioco subito dopo il comando vocale è in genere un'esperienza negativa per i giochi.

Il Cronometro utilizza il comando vocale Avvia un cronometro. Dopo che gli utenti hanno richiamato il comando vocale, il cronometro si avvia immediatamente dopo una breve schermata di conto alla rovescia interstitial, il che è meglio che fornire una voce di menu per l'avvio. Per le attività in corso, in genere ti consigliamo di concentrarti su come consentire agli utenti di accedere all'esperienza il più rapidamente possibile, laddove opportuno.

Layout delle schede

Che tu stia creando immersiv o schede dal vivo, ti conviene utilizzare i CardBuilder o i layout XML, se possibile.

Capita spesso che tu debba sviluppare il tuo layout personalizzato, quindi segui le nostre linee guida relative all'interfaccia utente per avere un prodotto in vetro dall'aspetto ottimale.

Il cronometro segue le linee guida generali per il layout, ma ha layout UI personalizzati che utilizzano componenti Android standard come viste e layout.

Sviluppo

Per sviluppare le schede dinamiche, puoi utilizzare gli stessi strumenti che utilizzeresti per lo sviluppo Android per sviluppare la maggior parte di Glassware, quindi utilizzare le API nel componente aggiuntivo GDK per accedere alle funzionalità specifiche di Glass, come le schede dinamiche e i comandi vocali.

Utilizzerai spesso componenti Android comuni per creare i Glassware, ma tieni presente che alcuni concetti a volte sono diversi. Ad esempio, esegui il rendering e gestisci le schede attive con un servizio Android, che non è un modo tipico in cui utilizzi i servizi nelle app Android tradizionali. Un altro esempio sono le schede attive non dispongono di un proprio contesto UI, quindi devi utilizzare un'attività shell che mostri un menu per la scheda live. Imparerai come vengono creati questi componenti più avanti in questa guida.

Le altre sezioni di sviluppo illustrano la struttura del cronometro e i componenti principali del progetto importati in precedenza. È utile avere Android Studio già aggiornato per poter continuare. Poiché viene commentato anche il codice sorgente, questa sezione illustra lo scopo generale di ogni file e i suggerimenti utili da applicare ai tuoi Glassware.

Comando vocale

Puoi creare comandi vocali con un file di risorse XML che specifica il comando che stai utilizzando e quindi specificando la risorsa XML nel file AndroidManifest.xml.

I seguenti file sono associati al comando vocale del Cronometro:

  • res/xml/voice_trigger_start.xml: dichiara il comando vocale da usare.
  • AndroidManifest.xml: dichiara l'avvio del servizio di card dal vivo quando viene pronunciato il comando vocale.

Visualizzazione conto alla rovescia

Il cronometro mostra un conto alla rovescia prima che l'ora venga effettivamente registrata per avvisare gli utenti che il tempo sta per scadere.

I seguenti file sono associati alla visualizzazione del conto alla rovescia:

  • res/layout/card_countdown.xml: definisce il layout per il visualizzatore del conto alla rovescia
  • src/com/google/android/glass/sample/stopwatch/CountDownView.java- Definisce la visualizzazione per il conto alla rovescia.

Visualizzazione cronometro

Questa è la visualizzazione principale del cronometro. Viene visualizzato il tempo trascorso dal completamento dell'interstitial con il conto alla rovescia. I seguenti file sono associati alla visualizzazione del cronometro:

  • res/layout/card_chronometer.xml: definisce il layout per la visualizzazione del cronometro
  • src/com/google/android/glass/sample/stopwatch/ChronometerDrawer.java: definisce la modalità di rendering della visualizzazione. Il servizio di live card chiama questa classe per attirare il relativo servizio.
  • src/com/google/android/glass/sample/stopwatch/ChronometerView.java: la visualizzazione del cronometro che usa il layout precedente come UI.

Servizio cronometro

Si tratta del servizio che gestisce il ciclo di vita e il rendering della scheda live. A questo servizio sono associati i seguenti file:

  • src/com/google/android/glass/sample/stopwatch/StopwatchService.java - Gestisce la scheda in tempo reale del cronometro e il ciclo di vita del servizio.

Le schede attive non hanno un contesto UI specifico in cui mostrare un menu, perché le interfacce utente vengono visualizzate nel contesto della sequenza temporale.

Per aggirare questo limite, puoi creare un'attività semitrasparente che appare nella parte superiore della sequenza temporale e poi visualizzare il menu dell'attività subito dopo che gli utenti hanno toccato la scheda pubblicata.

  • src/com/google/android/glass/sample/stopwatch/MenuActivity.java: dichiara l'attività di menu semitrasparente che mostra immediatamente il menu quando l'attività è visibile.
  • res/values/styles.xml: definisce lo stile traslucido applicato al menu.
  • res/menu/stopwatch.xml: la risorsa di menu che contiene la voce di menu Interrompi obbligatoria.

Manifest Android

Il file AndroidManifest.xml descrive i componenti principali di Glassware in modo che il sistema sappia come eseguirlo. Il file manifest di Charades dichiara quanto segue:

  • L'icona e il nome di Glassware. Glass mostra queste informazioni nel menu touch principale se più di un Glassware risponde allo stesso comando vocale.
  • Tutti i servizi e le attività associati al cronometro. Questa operazione è necessaria affinché il sistema sappia come avviare i componenti di Glassware.
  • Il comando vocale e un filtro per intent che avvia il servizio di scheda attiva quando viene pronunciato il comando vocale.
  • Un codice di versione per Glassware. Questo codice deve essere aggiornato (e in genere anche il nome della versione) ogni volta che viene caricata una nuova versione di questo APK su MyGlass.