Schéma de tâche en cours

Ce guide décrit les composants d'une tâche en cours sous la forme d'un chronomètre. Une tâche en cours affiche une fiche en temps réel dans la chronologie tant que l'utilisateur est engagé dans une tâche et lui permet d'entrer et de sortir de la fiche en temps réel lorsqu'il a besoin d'informations.

Vous découvrirez également des conseils de conception, de développement et de distribution qui vous aideront à créer vos propres Glassware.

Avant de commencer

La source complète du chronomètre est disponible sur GitHub. Importez-le dans Android Studio avant de commencer, car ce guide y fait beaucoup référence.

  1. Sur l'écran "Démarrage rapide", cliquez sur Règlement à partir de Version > Git.
  2. Copiez l'URL du clone à partir de Chronomètre.
  3. Collez l'URL du clone dans l'URL du dépôt Vcs, puis cliquez sur Cloner.
  4. Cliquez sur Yes (Oui) sur l'écran suivant.
  5. Cliquez sur OK sur l'écran suivant.
  6. Créez le projet et exécutez-le sur votre Glass connecté en cliquant sur le bouton Play (Lire). Vérifiez les README de l'exemple pour en savoir plus sur l'appel.

Objectifs de l'atelier

Vous allez apprendre à utiliser les composants du SDK Android pour créer la majeure partie de la tâche en cours de chronomètre, puis le GDK pour vous connecter à Glass. Voici une liste de sujets que vous allez découvrir:

  • Créer une vue personnalisée pour dessiner sur la fiche en direct
  • Créer un service pour gérer la fiche en direct
  • Proposer un menu permettant aux utilisateurs de supprimer la fiche en direct de la chronologie
  • Déclarer un déclencheur vocal pour lancer le chronomètre depuis le menu vocal principal

Conception

Avant de commencer à développer, prenez le temps de concevoir votre Glassware. Cela vous donne une idée des flux d'interface utilisateur qui fonctionnent le mieux sur Glass, de la commande vocale que vous allez utiliser et de l'apparence de vos cartes.

Bien entendu, la conception de Glassware est un processus itératif. Certaines des choses que vous concevez maintenant vont changer, mais il est essentiel de mener une bonne partie de ce travail au début pour bénéficier d'une expérience optimale.

Flux de l'interface utilisateur

La conception du flux de l'interface utilisateur est un exercice simple qui vous permet de visualiser votre Glassware avant d'écrire une ligne de code. Nous le faisons tout le temps pour les lunettes Glassware que nous créons !

Examinons les principaux éléments de l'interface utilisateur du chronomètre. Vous comprendrez ainsi comment il fonctionne et comment ce processus peut vous être utile lors de la création de votre propre Glassware.

Interface utilisateur principale

Le chronomètre ne contient qu'un seul flux principal, car il s'agit d'une expérience assez simple.

Lorsque les utilisateurs appellent le Glassware, ils reçoivent un compte à rebours de trois secondes avant le début du chronomètre. Le chronomètre compte ensuite jusqu'à ce que l'utilisateur le supprime de la chronologie à l'aide d'un élément de menu Stop (Arrêter).

Une commande vocale

Vous devez trouver une commande vocale assez tôt dans le processus de conception. Les commandes vocales permettent aux utilisateurs de démarrer Glassware à partir du menu vocal Glass Home (carte de l'horloge), si nécessaire. Elles sont essentielles à la conception de Glassware.

Par exemple, la commande Publier une mise à jour fonctionne bien dans un modèle de type "fire and forget", dans lequel les utilisateurs prononcent du texte et le Glassware le traite sans aucune autre intervention de l'utilisateur. Les utilisateurs peuvent ainsi revenir rapidement à ce qu'ils font.

D'un autre côté, pour un élément comme Jouer à un jeu, vous voudrez généralement amener les utilisateurs sur un écran d'accueil pour qu'ils puissent commencer par s'orienter. Étant donné que cette commande vocale lance très probablement une immersion, vous pouvez vous attendre à ce que les utilisateurs voient s'afficher des écrans et des menus supplémentaires pour démarrer le jeu. Lancer immédiatement une expérience de jeu après une commande vocale est souvent déconseillé.

Le chronomètre utilise la commande vocale Lancer un chronomètre. Lorsque les utilisateurs appellent la commande vocale, le chronomètre démarre immédiatement après un court écran de compte à rebours interstitiel, ce qui est préférable à un élément de menu à lancer. Pour les tâches en cours, il est généralement préférable de vous assurer que les utilisateurs accèdent à l'expérience aussi vite que possible, lorsque cela est pertinent.

Disposition des fiches

Que vous créiez des immersions ou des fiches actives, vous devez utiliser les mises en page CardBuilder ou XML lorsque cela est possible.

Bien souvent, vous devrez créer votre propre mise en page. Vous devez donc suivre nos consignes relatives à l'interface utilisateur pour avoir l'apparence de Glassware la plus aboutie.

Le chronomètre respecte les consignes générales de mise en page, mais dispose de mises en page d'interface utilisateur personnalisées utilisant des composants Android standards tels que des vues et des mises en page.

Développer

Pour développer des cartes en direct, vous devez utiliser les mêmes outils que ceux que vous utiliseriez pour le développement Android afin de créer la majeure partie de Glassware. Vous utiliserez ensuite les API du module complémentaire GDK pour accéder aux fonctionnalités spécifiques à Glass, telles que les cartes en direct et les commandes vocales.

Vous allez souvent utiliser des composants Android courants pour créer des Glassware, mais gardez à l'esprit que certains concepts sont parfois différents. Par exemple, vous affichez et gérez les fiches en direct avec un service Android, ce qui n'est pas un cas d'utilisation classique des services dans les applications Android traditionnelles. Autre exemple : les fiches actives ne possèdent pas leur propre contexte d'interface utilisateur. Vous devez donc utiliser une activité shell qui affiche un menu pour la fiche active. Vous découvrirez comment ces composants sont créés plus loin dans ce guide.

Le reste des sections "Développer" décrit la structure du chronomètre et les principaux composants du projet que vous avez importé précédemment. Il est utile d'installer Android Studio maintenant afin de pouvoir continuer. Le code source lui-même est commenté. Cette section décrit l'objectif général de chaque fichier et fournit des conseils utiles que vous pouvez appliquer à votre propre Glassware.

Une commande vocale

Vous créez des commandes vocales avec un fichier de ressources XML qui spécifie la commande que vous utilisez, puis en spécifiant la ressource XML dans le fichier AndroidManifest.xml.

Les fichiers suivants sont associés à la commande vocale Chronomètre:

  • res/xml/voice_trigger_start.xml : déclare la commande vocale à utiliser.
  • AndroidManifest.xml : déclare le service de cartes en direct de démarrer lorsque la commande vocale est prononcée.

Vue du compte à rebours

Le chronomètre affiche un compte à rebours avant l'enregistrement du temps pour indiquer aux utilisateurs que le temps est sur le point de s'écouler.

Les fichiers suivants sont associés à la vue de compte à rebours:

  • res/layout/card_countdown.xml : définit la mise en page pour le lecteur de compte à rebours.
  • src/com/google/android/glass/sample/stopwatch/CountDownView.java : définit la vue du compte à rebours.

Vue Chronomètre

Voici la vue principale du chronomètre. Il indique le temps écoulé depuis la fin du compte à rebours. Les fichiers suivants sont associés à l'affichage du chronomètre:

  • res/layout/card_chronometer.xml : définit la mise en page pour le chronomètre.
  • src/com/google/android/glass/sample/stopwatch/ChronometerDrawer.java : définit le mode d'affichage de la vue. Le service de cartes en direct appelle cette classe pour dessiner sur le service de cartes en direct.
  • src/com/google/android/glass/sample/stopwatch/ChronometerView.java : vue du chronomètre qui utilise la mise en page précédente comme interface utilisateur

Service de chronomètre

Il s'agit du service qui gère le cycle de vie et le rendu de la carte en direct. Les fichiers suivants sont associés à ce service:

  • src/com/google/android/glass/sample/stopwatch/StopwatchService.java : gère la carte en direct du chronomètre et gère le cycle de vie du service.

Les fiches actives ne disposent pas de leur propre contexte d'interface utilisateur dans lequel afficher un menu, car elles affichent leurs interfaces utilisateur dans la chronologie.

Pour contourner cette limitation, vous créez une activité translucide qui apparaît en haut de la chronologie, puis affichez le menu de cette activité immédiatement après que les utilisateurs ont appuyé sur la fiche en direct.

  • src/com/google/android/glass/sample/stopwatch/MenuActivity.java : déclare l'activité de menu translucide qui affiche immédiatement le menu lorsque l'activité est visible.
  • res/values/styles.xml : définit le style translucide appliqué au menu.
  • res/menu/stopwatch.xml : ressource de menu contenant l'élément Stop obligatoire.

Fichier manifeste Android

Le fichier AndroidManifest.xml décrit les principaux composants de votre Glassware afin que le système sache comment l'exécuter. Le fichier manifeste de Charades déclare les éléments suivants:

  • L'icône et le nom du Glassware Glass affiche ces informations dans le menu tactile principal si plusieurs Glassware répondent à la même commande vocale.
  • Tous les services et activités associés au chronomètre. Cela permet au système de savoir comment démarrer les composants Glassware.
  • La commande vocale et un filtre d'intent qui démarre le service de carte active lorsque la commande vocale est prononcée.
  • Code de version du Glassware. Ce code doit être mis à jour (et généralement le nom de la version) chaque fois qu'une nouvelle version de cet APK est importée dans MyGlass.