Pattern delle attività in corso

Questa guida descrive i componenti che costituiscono un'attività ricorrente sotto forma di cronometro. Un'attività in corso mostra una scheda in tempo reale nella sequenza temporale fino a quando un utente è coinvolto in un'attività e consente di accedere alla scheda in tempo reale quando ha bisogno di informazioni.

Lungo il percorso troverai anche suggerimenti su progettazione, sviluppo e distribuzione importanti per la creazione del tuo Glassware.

Prima di iniziare

La fonte completa del cronometro è disponibile su GitHub. Importala in Android Studio prima di iniziare, perché questa guida fa riferimento a questa risorsa in modo significativo.

  1. Nella schermata di avvio rapido, fai clic su Checkout dalla versione di controllo > Git.
  2. Copia l'URL da clonare da Cronometro.
  3. Incolla l'URL da clonare nell'URL repository VCS e fai clic su Clona.
  4. Fai clic su nella schermata successiva.
  5. Fai clic su OK nella schermata successiva.
  6. Crea il progetto ed eseguilo sul tuo Glass collegato facendo clic sul pulsante Riproduci. Assicurati di controllare README nell'esempio per vedere i dettagli della chiamata.

Obiettivi didattici

Imparerai a utilizzare i componenti dell'SDK Android per creare la maggior parte dell'attività in corso del cronometro e poi il GDK per collegare l'esperienza di Glass. Ecco un elenco di argomenti che imparerai a conoscere:

  • Creazione di una visualizzazione personalizzata da disegnare sulla scheda pubblicata.
  • Creare un servizio per gestire la scheda pubblicata
  • Fornire un menu che consente agli utenti di rimuovere la scheda pubblicata dalla cronologia
  • Dichiarazione di un attivatore vocale per avviare il cronometro dal menu vocale principale

Design

Prima di iniziare lo sviluppo, prenditi un po' di tempo e progetta il tuo Glassware. In questo modo avrai una buona idea di quali flussi di UI funzionano meglio su Glass, quali comandi vocali utilizzerai e come appariranno le tue schede.

Naturalmente, la progettazione di Glassware è un processo iterativo e alcune delle cose che progetti ora cambieranno, ma una buona parte del lavoro svolto all'inizio è fondamentale per costruire un'esperienza fantastica.

Flusso UI

Progettare il flusso dell'interfaccia utente è un esercizio semplice che ti consente di visualizzare il tuo Glassware prima di scrivere una riga di codice. Ci occupiamo sempre degli articoli in vetro che creiamo!

Esaminiamo gli elementi principali dell'interfaccia utente del cronometro per farti un'idea di come funziona e di quanto questo processo possa essere utile per la creazione del tuo Glassware.

UI principale

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

Quando gli utenti richiamano i complementi Glass, viene presentato loro un interstitial con un conto alla rovescia di 3 secondi, prima dell'inizio effettivo del cronometro. Il cronometro viene quindi conteggiato fino a quando l'utente non lo rimuove dalla sequenza temporale con una voce di menu Interrompi.

Comando vocale

Ti conviene trovare un comando vocale abbastanza presto nel processo di progettazione. I comandi vocali consentono agli utenti di avviare Glassware dal menu vocale della Glass Home (scheda orologio), se necessario, e costituiscono una parte importante della progettazione di Glassware.

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

D'altra parte, ad esempio per giocare a un gioco, in genere è meglio attirare gli utenti su una schermata iniziale in modo da orientarsi per primi. Dato che molto probabilmente questo comando vocale avvia un'immersione, puoi aspettarti che gli utenti si sentano a loro agio vedere altre schermate e menu per iniziare il gioco. L'invio diretto degli utenti a 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 viene avviato immediatamente dopo una breve schermata interstitial con un conto alla rovescia, che è meglio che fornire una voce di menu per l'avvio. Per quanto riguarda le attività in corso, solitamente ti consigliamo di concentrarti sull'esperienza degli utenti nel più breve tempo possibile, laddove sia opportuno.

Layout delle schede

Che tu stia creando immersioni o schede pubblicate, se possibile devi utilizzare i layout CardBuilder o XML.

Spesso, è comunque necessario creare un layout personalizzato, quindi segui le nostre linee guida per l'interfaccia utente per ottenere il miglior aspetto di Glass.

Il cronometro segue le linee guida generali per il layout, ma dispone di layout dell'interfaccia utente personalizzati che utilizzano componenti Android standard come visualizzazioni e layout.

Sviluppa

Per sviluppare schede dal vivo, usa gli stessi strumenti che utilizzeresti per lo sviluppo di Android per creare la maggior parte dei Glassware, quindi usa le API nel componente aggiuntivo di GDK per accedere alla funzionalità specifica di Glass, come le schede in tempo reale e i comandi vocali.

Utilizzi spesso componenti Android comuni per creare Glassware, ma ricorda che a volte alcuni concetti sono diversi. Ad esempio, puoi visualizzare e gestire le schede pubblicate con un servizio Android, che non è un modo tipico in cui utilizzi i servizi nelle app Android tradizionali. Un altro esempio sono le schede pubblicate che non possiedono un proprio contesto dell'interfaccia utente, quindi devi usare un'attività shell che mostra un menu per la scheda pubblicata. Scoprirai come questi componenti vengono creati più avanti in questa guida.

Il resto delle sezioni Sviluppo riguarda la struttura del cronometro e i componenti principali del progetto importati in precedenza. È utile avere Android Studio attivo ora per poterli seguire. Il codice sorgente stesso viene commentato, quindi questa sezione riguarda lo scopo generale di ogni file e suggerimenti utili che puoi 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 utilizzare.
  • AndroidManifest.xml: dichiara il servizio in tempo reale per l'avvio quando viene pronunciato il comando vocale.

Visualizzazione del conto alla rovescia

Il cronometro mostra un conto alla rovescia prima che l'ora venga effettivamente registrata, per far capire agli utenti che 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 vista principale del cronometro. Mostra il tempo trascorso dal completamento dell'annuncio interstitial per il conto alla rovescia. I seguenti file sono associati alla visualizzazione del cronometro:

  • res/layout/card_chronometer.xml: definisce il layout della visualizzazione del cronometro
  • src/com/google/android/glass/sample/stopwatch/ChronometerDrawer.java: definisce come visualizzare la visualizzazione. Il servizio di card in tempo reale chiama questa classe per richiamarla.
  • src/com/google/android/glass/sample/stopwatch/ChronometerView.java: la visualizzazione del cronometro che utilizza il layout precedente come interfaccia utente.

Servizio cronometro

È il servizio che gestisce il ciclo di vita e il rendering della scheda pubblicata. 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 gestisce il ciclo di vita dei servizi.

Le schede pubblicate non hanno un proprio contesto nell'interfaccia utente per la visualizzazione di un menu, in quanto vengono visualizzate dall'interfaccia nel contesto della sequenza temporale.

Per ovviare a questo limite, devi creare un'attività semitrasparente che venga visualizzata nella sequenza temporale e poi visualizzare il menu dell'attività immediatamente dopo che gli utenti hanno toccato la scheda pubblicata.

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

Manifest per Android

Il file AndroidManifest.xml descrive i componenti principali del tuo Glassware in modo che il sistema sappia come eseguirlo. Nel file manifest di Charades vengono dichiarate le seguenti informazioni:

  • Icona e nome di Glassware. Glass mostra queste informazioni nel menu touch principale se più strumenti Glassware rispondono allo stesso comando vocale.
  • Tutti i servizi e le attività associate al cronometro. Questo passaggio è necessario affinché il sistema sappia come avviare i componenti di Glassware.
  • Il comando vocale e un filtro per intent che avvia il servizio di scheda in tempo reale quando viene pronunciato il comando vocale.
  • Un codice versione per il Glassware. Questo codice deve essere aggiornato (in genere anche il nome della versione) ogni volta che viene caricata una nuova versione di questo APK in MyGlass.