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.txtest 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.

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.

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 :

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.

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

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) :

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.

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.

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) :

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

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.

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 :
- Affiner votre fichier AGENTS.md : essayez d'ajouter des normes de codage spécifiques ou des consignes de marque à votre fichier
AGENTS.mdpour voir comment cela modifie les suggestions de code de Gemini. - Créer une automatisation personnalisée : utilisez Gemini et la base de connaissances pour écrire un script qui déclenche une routine "Bonne nuit", par exemple en verrouillant toutes les portes et en tamisant les lumières.
- Consultez le guide officiel de la base de connaissances Home API et regardez la vidéo Accélérer le développement avec Gemini et la base de connaissances.