Développer une application Android Home API à l'aide de la base de connaissances Home API et de Gemini

1. Avant de commencer

Objectifs de l'atelier

Dans cet atelier de programmation, vous allez étendre un exemple d'application Android Home API existant à l'aide de la base de connaissances Home API et de Gemini dans Android Studio pour automatiser la création d'UI et l'intégration d'API. Vous allez ajouter une interface de débogage qui permet aux utilisateurs de vider les journaux et de résumer leur Home pour le débogage et le développement.

Le duo gagnant : base de connaissances Home API + Gemini dans Android Studio

Ce workflow repose sur deux composants essentiels :

  • Base de connaissances Home API : fichier de documentation organisé (google-home-api-knowledge-base.txt) qui fournit à Gemini les contraintes techniques, les modèles et les méthodes spécifiques nécessaires pour interagir avec les appareils Google Home.
  • Consultez https://developers.home.google.com/apis/android/knowledge-base.
  • Gemini dans Android Studio : collaborateur basé sur l'IA qui réside directement dans votre IDE. Il est sensible au contexte de votre code, de vos ressources et de votre terminal.

Points abordés

  • Comment fournir la base de connaissances Home API comme contexte à Gemini dans Android Studio.
  • Comment coder avec Gemini dans Android Studio pour ajouter de nouvelles fonctionnalités à l'exemple d'application Home API existant.

2. Conditions requises et configuration

Assurez-vous que les éléments suivants sont terminés avant de continuer :

  • Compiler et exécuter l'application exemple Android Home API : suivez les instructions sur https://developers.home.google.com/apis/android/sample-app/build#build_the_app pour compiler et exécuter l'application exemple sur lequel repose notre atelier de programmation.
  • Configuration de l'environnement
  • Télécharger Android Studio : installez la dernière version stable (Koala ou version ultérieure) à partir du site officiel pour les développeurs.
  • Activer Gemini : ouvrez la fenêtre d'outil Gemini (généralement sur la bande de droite). Connectez-vous avec votre compte Google et acceptez les conditions d'utilisation pour activer l'assistant IA. Pour obtenir des instructions, consultez https://developer.android.com/studio/gemini/get-started.
  • Fichier de base de connaissances : assurez-vous que le fichier google-home-api-knowledge-base.txt est enregistré dans le répertoire de votre projet.
  • Remarque : Si vous avez cloné l'application exemple à partir de l'application exemple GitHub officielle, ce fichier est déjà inclus dans le dossier tools/.

3. Créer le fichier AGENTS.md

Au lieu de répéter les instructions dans chaque chat, créez un "cerveau" persistant pour Gemini.

Dans la racine de votre projet, créez un nouveau fichier nommé AGENTS.md et collez le contexte suivant :

**Role:** You are an expert Android Home API Developer.

**Context:** This project uses the Google Home APIs.

**Source of Truth:** Always reference tools/google-home-api-knowledge-base.txt for Home API patterns, data models (Structures, Automations), and debugging methods.

**Guidelines:** Prioritize Material 3 Compose components and ensure all code is compatible with the latest Home API SDK.

Dans "Context", cochez la case à côté de AGENTS.md Files.

2047b69244c9da6e.png

Vérifions si la configuration a réussi. Effectuez une requête dans Gemini pour :

Can you see the Agents.md file? Do you know what file you need to check first before developing with Google Home API?

Un résultat semblable à celui ci-dessous doit s'afficher, indiquant qu'il lit le fichier AGENTS.md et qu'il utilisera le fichier de base de connaissances.

830ef529169d47b.png

4. Créer un onglet de débogage

Utilisez Gemini + la base de connaissances pour modifier HomeAppView.kt et ajouter une nouvelle destination de navigation.

Avant de commencer, voici à quoi devrait ressembler votre application exemple Home APIs actuelle :

981f74eb250a2552.png

Demandez à Gemini d'utiliser une icône de roue pour représenter le nouvel onglet de débogage.

Can you help to add a wheel icon as the third tab in the HomeAppView .

Vous trouverez ci-dessous un exemple de dialogue entre Gemini dans Android Studio et vous.

c9cf695cb6549fa3.png

Un nouvel onglet "Debug" (Débogage) s'affiche en bas :

ac1e16cc6bcae224.png

5. Créer deux boutons pour "Dump Structure" (Vider la structure) et "Dump Automation" (Vider l'automatisation)

Effectuez une requête dans Gemini pour :

Create two selectable buttons on the Debug page called "Dump Structure" and "Dump Automations".

Deux nouveaux boutons sont ajoutés à la page "Debug" (Débogage) :

451ad164998d527c.png

6. Implémenter la fonctionnalité "Dump Structure" (Vider la structure)

Effectuez une requête dans Gemini pour :

Implement the first button "Dump Structure" to call dumpStructure(structure: Structure) in Debugger.kt with current selected structure.

Lorsque vous cliquez sur le bouton "Dump Structure" (Vider la structure), les journaux de structure sont vidés dans LogCat.

af7295a2ad999798.png

7. Implémenter la fonctionnalité "Dump Automation" (Vider l'automatisation)

Effectuez une requête dans Gemini pour :

Now Implement the "Dump Automation" functionality to call dumpAutomationsInStructure(structure: Structure) in Debugger.kt with current selected structure.

Lorsque vous cliquez sur le bouton "Dump Automation" (Vider l'automatisation), les journaux d'automatisation sont vidés dans LogCat.

d5ea7f17e29d9220.png

8. Implémenter un bouton "Summarize Home" (Résumer Home) qui liste les pièces et les appareils actuels

Effectuez une requête dans Gemini pour :

In Debug tab, add a button "Summarize Home" to find the current room and devices with Home API and show them on a dialog.

Un nouveau bouton "Summarize Home" (Résumer Home) s'affiche sur la page "Debug" (Débogage) :

a4cf16a09f535f8b.png

Lorsque vous cliquez dessus, un résumé actuel des pièces et des appareils s'affiche :

cd2dcccc60947445.png

9. Examiner les modifications

Gemini peut également vous aider à examiner les modifications (ou le dernier commit Git), à identifier les problèmes potentiels et à les résoudre.

Effectuez une requête dans Gemini pour :

Review the uncommitted changes and find potential issues.

816ea8380bffc14f.png

10. Félicitations !

Félicitations ! Vous avez étendu votre application exemple Android Home API en utilisant la base de connaissances Home API et Gemini pour automatiser la création d'UI et l'intégration d'API. Maintenant que vous savez comment étendre l'application exemple à l'aide du développement basé sur l'IA, voici d'autres pistes à explorer :