Gemini dans Android Studio agit comme un collaborateur de codage, accélérant votre workflow de développement en générant du code, en résumant des sujets complexes, en trouvant des ressources spécifiques, et plus encore. Une communication efficace est essentielle pour exploiter tout le potentiel de Gemini.
Ce guide présente des stratégies pour configurer votre environnement de développement et rédiger des requêtes qui génèrent des réponses utiles et fiables. Pour plusieurs stratégies, nous avons fourni des exemples de requêtes pour différents cas d'utilisation. Pour obtenir d'autres exemples de requêtes, consultez la galerie de requêtes.
Utiliser le mode Agent
Le mode Agent de Gemini dans Android Studio va au-delà de ce que vous pouvez faire en discutant simplement avec Gemini. Vous pouvez définir un objectif général pour l'agent, qui décomposera le problème et créera un plan pour le résoudre. L'agent fait appel à des outils, modifie plusieurs fichiers et corrige les erreurs au fur et à mesure. Le mode Agent vous aide à gérer plus efficacement les tâches complexes, ce qui accélère l'ensemble de votre processus de développement.
Soyez précis.
Gemini dans Android Studio fonctionne mieux avec des instructions claires et spécifiques. Si vous souhaitez utiliser certaines bibliothèques, API ou approches, incluez-les dans votre question ou dans le fichier AGENTS.md à la racine de votre projet pour les conserver lors des interactions. Considérez-le comme un signalement de bug : plus vous fournissez d'informations, plus le problème peut être résolu rapidement et efficacement.
Implémenter une nouvelle fonctionnalité :
À faire
À éviter
Génération du code :
À faire
Écrivez une fonction de suspension Kotlin qui utilise la bibliothèque Coil pour télécharger une image à partir d'une chaîne d'URL donnée.
La fonction doit être nommée fetchImageAsBitmap
. Elle doit accepter un Context
et une URL String
comme arguments et renvoyer un Bitmap
pouvant être nul. En cas d'erreur réseau ou de décodage, il doit intercepter l'exception, la consigner et renvoyer null
.
À éviter
Expliquer un concept :
À faire
Je développe une application de lecteur de musique et j'ai besoin de continuer la lecture lorsque l'application est en arrière-plan.
Quelles sont mes options pour que mon application continue de s'exécuter pendant que l'utilisateur effectue d'autres tâches sur l'appareil ? Quelles sont les exigences au niveau de l'API et les implications pour l'autonomie de la batterie pour chaque approche ?
À éviter
Décrire la structure de la réponse
Par défaut, Gemini fournit des réponses sous forme de paragraphes conversationnels. Bien que cela soit souvent utile pour les explications, vous pouvez obtenir des résultats plus efficaces et immédiatement utilisables en lui indiquant comment structurer la réponse. En spécifiant le format de sortie, vous demandez au modèle d'organiser les informations de manière claire et prévisible, ce qui vous évite de les reformater vous-même.
Si vous souhaitez insérer du code généré par Gemini dans votre application et que vous avez besoin que le code soit dans un format spécifique pour pouvoir l'utiliser immédiatement, donnez à Gemini des instructions claires sur la façon de générer et de mettre en forme le code.
Structurer la réponse :
À faire
Créez une entité Room pour un profil utilisateur. Il doit contenir les champs id
, userName
, email
et memberSince
. Le champ id
doit être généré automatiquement. Le champ memberSince
doit représenter un code temporel.
À éviter
Si vous posez une question plus ouverte, demandez x options.
Limiter la réponse :
À faire
À éviter
Décomposer les requêtes complexes en tâches plus petites
Pour les requêtes complexes en plusieurs étapes, essayez le mode Agent. Toutefois, si l'approche de l'agent ne correspond pas à vos attentes, il peut être utile de guider Gemini à l'aide d'une série de requêtes plus petites et séquentielles plutôt que de tout demander en une seule fois. Cette approche vous offre plus de contrôle et vous permet de vérifier chaque étape avant de passer à la suivante.
Appliquer des requêtes séquentielles :
À faire
Requête 1 : Le modèle de données
Commencez par créer une classe de données Kotlin nommée User
. Il doit comporter trois propriétés : id
(un entier), name
(une chaîne) et email
(une chaîne).
Requête 2 : La couche réseau
Créez maintenant une interface d'API Retrofit appelée ApiService
. Il a besoin d'un seul suspend fun
appelé getUsers()
qui renvoie un List<User>
.
Requête 3 : Gestion de l'état
Écrivez ensuite un UsersViewModel
qui prend le ApiService
comme dépendance. Le UsersViewModel
doit exposer un StateFlow
d'une classe UiState
scellée pouvant représenter les états Loading, Success(users: List
et Error(message: String)
. Créez une fonction dans ViewModel
pour récupérer les utilisateurs et mettre à jour l'état. Écrivez des tests unitaires pour les nouvelles fonctionnalités.
Requête 4 : La couche UI
Enfin, écrivez une fonction Jetpack Compose nommée UserListScreen
qui accepte UiState
comme paramètre. Utilisez une instruction when
pour afficher un CircularProgressIndicator
pour l'état de chargement, un LazyColumn
de noms d'utilisateur pour l'état de réussite et un élément Text
avec le message d'erreur pour l'état d'erreur. Ajoutez des tests qui vérifient la nouvelle fonctionnalité.
À éviter
ViewModel
qui utilise Retrofit et des coroutines, un dépôt pour gérer la logique des données, une classe de données User
et doit afficher les états de chargement et d'erreur.Gérer le contexte
Pour utiliser Gemini dans Android Studio, il est essentiel de fournir le bon contexte. Fournissez des extraits de code, le contenu des fichiers et des informations sur la structure du projet pertinents pour obtenir les réponses les plus utiles. Vous devrez peut-être faire plusieurs tentatives pour trouver le bon équilibre : trop d'informations pourraient induire Gemini en erreur, tandis que trop peu ne lui fourniront pas assez de contexte pour vous aider. Utilisez les fonctionnalités disponibles pour donner à Gemini l'accès au contexte nécessaire :
- Joignez des images pour fournir une représentation visuelle de l'UI que vous envisagez ou de l'architecture de l'application que vous essayez de comprendre.
- Joignez des fichiers pour mettre en évidence les parties pertinentes de la base de code.
- Utilisez les fichiers
.aiexclude
pour que Gemini ignore certaines parties de la base de code. - Utilisez les fichiers AGENTS.md pour donner des instructions spécifiques à un projet et les partager avec votre équipe. Lorsque vous utilisez des fichiers AGENTS.md, utilisez des en-têtes et une mise en forme Markdown pour rendre vos instructions claires.
- Lorsque vous utilisez le mode Agent, configurez les serveurs MCP pour étendre les connaissances et les capacités de Gemini avec l'environnement externe.
Demander des explications
Si vous ne comprenez pas la réponse de Gemini dans Android Studio, demandez une explication. C'est un excellent moyen d'apprendre et de vérifier que la solution proposée est adaptée à votre cas d'utilisation. Si la réponse ne correspond pas à ce que vous attendiez, il se peut que Gemini se soit trompé. Demander une explication lui permettra de se corriger.
Itérer sur vos instructions
Comme lorsque vous travaillez avec un collègue, il faut parfois communiquer plusieurs fois avec Gemini dans Android Studio pour obtenir des informations claires sur la tâche et le résultat attendu. Si la réponse initiale de Gemini ne vous suffit pas, répondez-y en fournissant des commentaires et des suggestions pour l'améliorer. Si sa réponse s'améliore grâce à vos suggestions, intégrez-les à la requête d'origine en mettant à jour l'entrée dans la bibliothèque de requêtes ou en modifiant vos fichiers AGENTS.md.