Android avec solution d'IA
Optimiser vos applications Android avec l'IA générative
Découvrez comment créer des applications Android plus rapidement avec Google
Dans ce parcours de formation, vous découvrirez comment créer des applications Android plus attrayantes avec moins d'efforts, à l'aide des technologies Google. Dans les sections suivantes, vous allez créer et améliorer une application hypothétique de préparation de repas, qui remplace le type d'application sur lequel vous pourriez travailler aujourd'hui en tant que développeur Android.
Vous apprendrez à utiliser Gemini dans Android Studio pour apprendre et développer plus rapidement, à utiliser Firebase pour créer les couches de stockage et la connexion de votre application, à utiliser Gemini pour intégrer des fonctionnalités d'IA générative de pointe à votre application, et à utiliser des outils tels que Firebase Remote Config, Google Analytics et Crashlytics pour prendre en charge votre application en production.
Vous apprendrez à utiliser Gemini dans Android Studio pour apprendre et développer plus rapidement, à utiliser Firebase pour créer les couches de stockage et la connexion de votre application, à utiliser Gemini pour intégrer des fonctionnalités d'IA générative de pointe à votre application, et à utiliser des outils tels que Firebase Remote Config, Google Analytics et Crashlytics pour prendre en charge votre application en production.
Boostez votre développement Android avec Gemini dans Android Studio
Il n'a jamais été aussi simple de créer des applications Android avec l'aide de Gemini dans Android Studio, votre assistant de codage optimisé par l'IA.
Gemini dans Android Studio intègre l'IA directement dans l'IDE que vous utilisez au quotidien. Il est conçu pour vous aider tout au long du cycle de développement logiciel afin de créer des applications Android de haute qualité plus rapidement et plus facilement. Vous pouvez ainsi apprendre de nouveaux concepts plus rapidement, créer des prototypes facilement et consacrer plus de temps aux parties importantes de votre application.
Lorsque vous commencez à créer votre application Android, découvrez comment Gemini dans Android Studio peut booster votre parcours de développement.
Gemini dans Android Studio intègre l'IA directement dans l'IDE que vous utilisez au quotidien. Il est conçu pour vous aider tout au long du cycle de développement logiciel afin de créer des applications Android de haute qualité plus rapidement et plus facilement. Vous pouvez ainsi apprendre de nouveaux concepts plus rapidement, créer des prototypes facilement et consacrer plus de temps aux parties importantes de votre application.
Lorsque vous commencez à créer votre application Android, découvrez comment Gemini dans Android Studio peut booster votre parcours de développement.
Apprendre Android plus facilement grâce à l'IA
Si vous débutez avec Android ou des domaines de développement Android spécifiques, Gemini dans Android Studio peut être un outil d'apprentissage inestimable.
- Obtenez des réponses instantanées à vos questions: vous pouvez poser à Gemini des questions sur des concepts Android fondamentaux, des API spécifiques ou des bonnes pratiques directement dans la fenêtre de chat d'Android Studio. Par exemple, vous pouvez demander "Qu'est-ce que le thème sombre ?" ou "Quelle est la meilleure façon d'obtenir la position sur Android ?".
- Recevoir des exemples de code et des conseils: Gemini peut générer des extraits de code et vous aider à implémenter diverses fonctionnalités, comme ajouter la prise en charge de l'appareil photo ou créer une base de données Room. Vous pouvez même demander du code en Kotlin ou spécifiquement pour Jetpack Compose.
- Comprendre les erreurs et trouver des solutions: lorsque vous rencontrez des erreurs de compilation ou de synchronisation, vous pouvez demander à Gemini une explication et des suggestions pour les résoudre. Gemini peut également vous aider à analyser les rapports d'erreurs issus des insights sur la qualité des applications, en vous fournissant des résumés et en vous recommandant les prochaines étapes.

Avantages améliorés pour les équipes avec Gemini dans Studio pour les entreprises
La version individuelle de Gemini dans Android Studio est sans frais pendant la phase de preview.
Toutefois, pour le développement dans des environnements d'équipes de grande envergure avec des exigences de confidentialité et de gestion plus strictes, Gemini dans Studio pour les entreprises offre des avantages supplémentaires, y compris une confidentialité, une sécurité et des fonctionnalités de personnalisation du code renforcées. Il est disponible à l'aide de vos crédits Google Cloud.
En plus de Gemini Code Assist, ces outils permettent aux équipes de tirer pleinement parti de la puissance de l'IA en répondant aux besoins cruciaux en termes de confidentialité, de sécurité et de gestion.
Toutefois, pour le développement dans des environnements d'équipes de grande envergure avec des exigences de confidentialité et de gestion plus strictes, Gemini dans Studio pour les entreprises offre des avantages supplémentaires, y compris une confidentialité, une sécurité et des fonctionnalités de personnalisation du code renforcées. Il est disponible à l'aide de vos crédits Google Cloud.
En plus de Gemini Code Assist, ces outils permettent aux équipes de tirer pleinement parti de la puissance de l'IA en répondant aux besoins cruciaux en termes de confidentialité, de sécurité et de gestion.
Composants Firebase pour votre application
Les fonctionnalités courantes du développement d'applications, telles que le stockage dans le cloud, l'authentification des utilisateurs et la création de rapports sur les plantages, sont des composants nécessaires au développement et à l'exploitation de toute application.
Firebase simplifie le processus de développement d'applications Android en fournissant ces composants essentiels, ce qui vous évite d'implémenter votre propre backend.
Firebase simplifie le processus de développement d'applications Android en fournissant ces composants essentiels, ce qui vous évite d'implémenter votre propre backend.
Cloud Firestore
Par exemple, si vous créez une application de préparation de recettes, vous devez conserver les recettes, les menus et les listes d'ingrédients au-delà de l'appareil (au cas où l'utilisateur changerait de téléphone, par exemple). Vous pouvez faire persister ces données dans Cloud Firestore.
Cloud Firestore est une base de données cloud NoSQL évolutive proposée par Firebase et Google Cloud. Il permet de synchroniser les données en temps réel entre les applications clientes grâce à des écouteurs en temps réel, et peut fonctionner hors connexion pour le mobile et le Web. Il garantit ainsi les performances des applications réactives, quelle que soit la disponibilité du réseau. Il s'intègre parfaitement aux autres produits Firebase et Google Cloud, y compris Cloud Functions.
Cloud Firestore est une base de données cloud NoSQL évolutive proposée par Firebase et Google Cloud. Il permet de synchroniser les données en temps réel entre les applications clientes grâce à des écouteurs en temps réel, et peut fonctionner hors connexion pour le mobile et le Web. Il garantit ainsi les performances des applications réactives, quelle que soit la disponibilité du réseau. Il s'intègre parfaitement aux autres produits Firebase et Google Cloud, y compris Cloud Functions.

Authentication
L'authentification des utilisateurs est essentielle pour permettre aux utilisateurs qui changent d'appareil d'accéder à leurs données et pour s'assurer que d'autres personnes ne peuvent pas y accéder.
Firebase Authentication est un outil puissant qui simplifie l'ajout d'une authentification utilisateur aux applications Android. Il fournit des services de backend et un SDK avec des bibliothèques d'UI prêtes à l'emploi compatibles avec diverses méthodes d'authentification, y compris la connexion par e-mail/mot de passe, l'authentification par numéro de téléphone et l'intégration avec des fournisseurs d'identité fédérés populaires tels que Google, Facebook et Twitter.
Firebase Authentication est un outil puissant qui simplifie l'ajout d'une authentification utilisateur aux applications Android. Il fournit des services de backend et un SDK avec des bibliothèques d'UI prêtes à l'emploi compatibles avec diverses méthodes d'authentification, y compris la connexion par e-mail/mot de passe, l'authentification par numéro de téléphone et l'intégration avec des fournisseurs d'identité fédérés populaires tels que Google, Facebook et Twitter.
Création de rapports d'erreur
Surveiller les erreurs et les plantages est essentiel pour garantir la stabilité et le succès de vos applications. Une application qui plante frustre vos utilisateurs et sera désinstallée.
Firebase Crashlytics est un outil de création de rapports d'erreur en temps réel qui vous aide à suivre, hiérarchiser et corriger les problèmes de stabilité qui nuisent à la qualité de votre application. Il vous fait gagner du temps en regroupant intelligemment les plantages et en mettant en évidence les circonstances qui les ont provoqués.
Cloud Firestore et Firebase Authentication proposent des niveaux sans frais généreux. Toutefois, si votre application nécessite plus de quotas ou des fonctionnalités avancées de ces services, vous devez souscrire un forfait payant. Mais ne vous inquiétez pas : vous pouvez utiliser vos crédits Cloud pour couvrir ces coûts. De plus, Crashlytics est sans frais, quel que soit le niveau d'utilisation.
Pour en savoir plus sur les autres solutions proposées par Firebase, consultez le site Web de Firebase.
Firebase Crashlytics est un outil de création de rapports d'erreur en temps réel qui vous aide à suivre, hiérarchiser et corriger les problèmes de stabilité qui nuisent à la qualité de votre application. Il vous fait gagner du temps en regroupant intelligemment les plantages et en mettant en évidence les circonstances qui les ont provoqués.
Cloud Firestore et Firebase Authentication proposent des niveaux sans frais généreux. Toutefois, si votre application nécessite plus de quotas ou des fonctionnalités avancées de ces services, vous devez souscrire un forfait payant. Mais ne vous inquiétez pas : vous pouvez utiliser vos crédits Cloud pour couvrir ces coûts. De plus, Crashlytics est sans frais, quel que soit le niveau d'utilisation.
Pour en savoir plus sur les autres solutions proposées par Firebase, consultez le site Web de Firebase.
scope.launch { val response = model.generateContent( "Create a shopping list with $cuisineStyle ingredients") }
Dans le cas d'une application de recettes, Gemini 2.0 Flash peut créer une liste de courses d'ingrédients pour cuisiner un repas dans un style culinaire spécifique. Vous pouvez même demander au modèle de générer une chaîne JSON qui peut être facilement analysée dans l'application pour être affichée dans l'UI. Pour générer la liste, il vous suffit d'appeler la fonction "generateContent()" avec une requête textuelle.
Pour en savoir plus, consultez le guide du développeur Android.
Pour en savoir plus, consultez le guide du développeur Android.
IA générative sur Android
L'intégration de l'IA générative dans notre application Android de préparation de repas peut se faire de différentes manières. Voici un aperçu de chaque option:
Gemini Nano sur Android
Gemini Nano est le modèle de la famille Gemini optimisé pour s'exécuter sur l'appareil. Il est directement intégré à l'OS Android via AICore. Vous pouvez l'utiliser pour proposer des expériences d'IA générative sans avoir besoin d'une connexion réseau ni d'envoyer de données dans le cloud.
L'IA sur l'appareil est une excellente option pour les cas d'utilisation où la faible latence, le faible coût et les mesures de protection de la confidentialité sont vos principales préoccupations. Par exemple, dans une application de préparation de repas, Gemini Nano peut suggérer des idées de repas en fonction de différentes cuisines et de l'historique des repas de l'utilisateur.
Pour en savoir plus sur l'architecture technique de Gemini Nano, consultez la documentation Android.
Pour tester Gemini Nano dans votre propre application, consultez la section sur Gemini Nano sur l'appareil avec l'étape du SDK Google AI Edge expérimental ci-dessous.
L'IA sur l'appareil est une excellente option pour les cas d'utilisation où la faible latence, le faible coût et les mesures de protection de la confidentialité sont vos principales préoccupations. Par exemple, dans une application de préparation de repas, Gemini Nano peut suggérer des idées de repas en fonction de différentes cuisines et de l'historique des repas de l'utilisateur.
Pour en savoir plus sur l'architecture technique de Gemini Nano, consultez la documentation Android.
Pour tester Gemini Nano dans votre propre application, consultez la section sur Gemini Nano sur l'appareil avec l'étape du SDK Google AI Edge expérimental ci-dessous.

Imagen et Gemini Pro et Flash: modèles cloud Google GenAI
Les modèles d'IA générative optimisés pour s'exécuter dans le cloud sont généralement plus performants que les modèles d'IA sur l'appareil.
En tant que développeur Android, vous pouvez utiliser Vertex AI dans Firebase pour implémenter rapidement des fonctionnalités d'IA générative dans votre application Android à l'aide des modèles Gemini Pro et Flash pour les tâches de génération de texte, et d'Imagen pour les tâches de génération d'images.
En tant que développeur Android, vous pouvez utiliser Vertex AI dans Firebase pour implémenter rapidement des fonctionnalités d'IA générative dans votre application Android à l'aide des modèles Gemini Pro et Flash pour les tâches de génération de texte, et d'Imagen pour les tâches de génération d'images.
Gemini Pro et Flash
La famille de modèles d'IA Gemini Pro et Flash est multimodale et peut gérer un large éventail de tâches. Ils reçoivent des entrées d'images, d'audio et de vidéo, et génèrent une sortie textuelle pouvant être mise en forme au format JSON, XML et CSV. Les derniers modèles Gemini peuvent même générer des sorties multimodales, comme de l'audio et des images.
Par exemple, dans une application de préparation de repas, vous pouvez utiliser un modèle Gemini pour créer une liste de courses avec les ingrédients d'un type de cuisine spécifique.
Vous pouvez également utiliser vos crédits Google Cloud pour couvrir les coûts de ces appels aux modèles Gemini.
Pour découvrir comment utiliser des modèles Gemini hébergés dans le cloud dans votre application, consultez l'étape Gemini via Vertex AI dans Firebase ci-dessous.
Par exemple, dans une application de préparation de repas, vous pouvez utiliser un modèle Gemini pour créer une liste de courses avec les ingrédients d'un type de cuisine spécifique.
Vous pouvez également utiliser vos crédits Google Cloud pour couvrir les coûts de ces appels aux modèles Gemini.
Pour découvrir comment utiliser des modèles Gemini hébergés dans le cloud dans votre application, consultez l'étape Gemini via Vertex AI dans Firebase ci-dessous.

Imagen 3
Imagen 3 est le dernier modèle de génération d'images de Google. Vous pouvez y accéder via Vertex AI in Firebase, ce qui vous permet d'ajouter facilement des fonctionnalités de génération d'images à votre application Android.
Par exemple, dans une application de préparation de repas, vous pouvez utiliser le modèle Imagen 3 pour générer des illustrations de recettes.
Le coût peut être couvert par votre crédit Google Cloud.
Pour savoir comment utiliser Imagen 3 dans votre application, consultez l'étape "Imagen 3 pour la génération d'images" ci-dessous.
Par exemple, dans une application de préparation de repas, vous pouvez utiliser le modèle Imagen 3 pour générer des illustrations de recettes.
Le coût peut être couvert par votre crédit Google Cloud.
Pour savoir comment utiliser Imagen 3 dans votre application, consultez l'étape "Imagen 3 pour la génération d'images" ci-dessous.
Intégration du backend
Vous pouvez également ajouter des fonctionnalités d'IA générative via l'intégration du backend:
- Genkit est un framework Open Source qui simplifie le développement, le déploiement et la surveillance des applications optimisées par l'IA.
- Pour les besoins MLOps plus avancés, Vertex AI de Google Cloud proposait des services entièrement gérés ainsi qu'une offre riche de modèles via Model Garden de Vertex AI. Vous pouvez également utiliser vos crédits Google Cloud pour couvrir les coûts de ces services.
Solutions personnalisées sur l'appareil
Si vous souhaitez exécuter l'inférence d'IA sur l'appareil en dehors de Gemini Nano, vous pouvez également tester LiteRT et MediaPipe :
Pour en savoir plus sur les offres Android GenAI, consultez la section "IA" de la documentation Android.
- LiteRT (anciennement TFLite) est l'environnement d'exécution hautes performances de Google pour l'IA sur l'appareil. Il est conçu pour exécuter efficacement des modèles de machine learning directement sur les appareils.
- MediaPipe est un framework Open Source qui permet aux développeurs de créer des pipelines de machine learning pour traiter en temps réel des données multimédias, telles que des vidéos et des contenus audio.
Pour en savoir plus sur les offres Android GenAI, consultez la section "IA" de la documentation Android.
Accès expérimental Gemini Nano sur l'appareil
Le SDK Google AI Edge permet aux développeurs d'applications Android d'intégrer et de tester les fonctionnalités d'IA générative sur l'appareil de Gemini Nano pour améliorer leurs applications.
Voici comment procéder :
- Rejoindre le groupe Google aicore-experimental
- Activez le programme de test Android AICore.
Une fois ces étapes effectuées, le nom de l'application AICore sur le Play Store (sous "Gérer les applications et l'appareil") devrait passer d'"Android AICore" à "Android AICore (bêta)".

- Suivez ces étapes pour vous assurer que les APK et les binaires sont correctement téléchargés sur votre appareil.
- Mettez ensuite à jour la configuration Gradle de votre application en ajoutant la dépendance suivante:
implementation("com.google.ai.edge.aicore:aicore:0.0.1-exp01")
Assurez-vous également de définir la version minimale du SDK cible sur 31.
implementation("com.google.ai.edge.aicore:aicore:0.0.1-exp01")
Vous pouvez ensuite configurer le modèle pour contrôler ses réponses. Pour ce faire, vous devez fournir le contexte et définir éventuellement les paramètres suivants:
- Température: contrôle le niveau de hasard. Plus la valeur est élevée, plus la diversité des résultats est importante.
- Top K: spécifie le nombre de jetons les mieux classés à prendre en compte pour la génération de sortie.
- Nombre de candidats: définit le nombre maximal de réponses à renvoyer.
- Max Output Tokens (Nombre maximal de jetons de sortie) : définit la longueur maximale de la réponse.
val generationConfig = generationConfig { context = ApplicationProvider.getApplicationContext() temperature = 0.2f topK = 16 maxOutputTokens = 256 }
Créez une fonction
downloadCallback
facultative. Cette fonction de rappel est utilisée pour télécharger le modèle. Il renvoie également des messages pouvant être utilisés à des fins de débogage.
Générez l'objet "GenerativeModel" à l'aide des configurations de génération et de téléchargement facultatives que vous avez créées précédemment.
val downloadConfig = DownloadConfig(downloadCallback) val generativeModel = GenerativeModel( generationConfig = generationConfig, downloadConfig = downloadConfig // optional )
Enfin, lancez l'inférence en transmettant votre requête au modèle. Assurez-vous que
Dans le cadre d'un exemple d'application de préparation de repas, Gemini Nano peut vous inspirer en suggérant différents types de cuisine et des repas différents de l'historique des repas.
GenerativeModel.generateContent()
se trouve dans la portée de coroutine appropriée, car il s'agit d'une fonction de suspension. Dans le cadre d'un exemple d'application de préparation de repas, Gemini Nano peut vous inspirer en suggérant différents types de cuisine et des repas différents de l'historique des repas.
scope.launch { val input = "Suggest different types of cuisines and easy to cook dishes that are not $recentMealList" val response = generativeModel.generateContent(input) print(response.text) }
Le modèle Gemini Nano a une limite maximale de jetons d'entrée de 12 000. Pour en savoir plus sur l'accès expérimental à Gemini Nano, consultez la section Gemini Nano de la documentation Android.
Gemini via Vertex AI in Firebase
En exploitant Vertex AI dans Firebase, vous pouvez créer des fonctionnalités basées sur l'IA générative à l'aide de modèles Gemini Cloud, tout en déployant et en gérant facilement l'écosystème Firebase.
dependencies { ... // Import the BoM for the Firebase platform implementation(platform("com.google.firebase:firebase-bom:" )) // Add the dependency for the Vertex AI in Firebase library // When using the BoM, you don't specify versions in Firebase // library dependencies implementation("com.google.firebase:firebase-vertexai") }
Commencez par tester des requêtes dans Vertex AI Studio. Il s'agit d'une interface interactive pour la conception et le prototypage de requêtes. Vous pouvez importer des fichiers pour tester des requêtes avec du texte et des images, et enregistrer une requête pour la revoir plus tard.
Lorsque vous êtes prêt à appeler l'API Gemini à partir de votre application, configurez Firebase et le SDK en suivant les instructions du guide de démarrage de Vertex AI in Firebase.
Ajoutez ensuite la dépendance Gradle à votre projet:
Lorsque vous êtes prêt à appeler l'API Gemini à partir de votre application, configurez Firebase et le SDK en suivant les instructions du guide de démarrage de Vertex AI in Firebase.
Ajoutez ensuite la dépendance Gradle à votre projet:
val generativeModel = Firebase.vertexAI .generativeModel( "gemini-2.0-flash", generationConfig = generationConfig { responseMimeType = "application/json" responseSchema = jsonSchema } )
Vous pouvez désormais appeler l'API Gemini à partir de votre code Kotlin. Commencez par initialiser le service Vertex AI et créez une instance de `GenerativeModel`:
scope.launch { val response = model.generateContent(" Create a shopping list with $cuisineStyle ingredients") }
Dans le cas d'une application de recettes, Gemini 2.0 Flash peut créer une liste de courses d'ingrédients pour cuisiner un repas dans un style culinaire spécifique. Vous pouvez même demander au modèle de générer une chaîne JSON qui peut être facilement analysée dans l'application pour être affichée dans l'UI. Pour générer la liste, il vous suffit d'appeler la fonction "generateContent()" avec une requête textuelle.
Pour en savoir plus, consultez le guide du développeur Android.
Pour en savoir plus, consultez le guide du développeur Android.
Imagen 3 pour la génération d'images
Imagen 3 est accessible via Vertex AI in Firebase pour vous permettre d'intégrer facilement la génération d'images à vos applications Android. En tant que modèle de génération d'images le plus avancé de Google, Imagen 3 produit des images de haute qualité avec des détails remarquables, des artefacts minimes et des effets d'éclairage réalistes, ce qui établit une nouvelle norme en matière de génération d'images.
Par exemple, Imagen 3 peut permettre à vos utilisateurs de générer leurs propres avatars de profil ou de créer des composants pour illustrer des flux d'écran existants. Pour une application de préparation de repas, vous pouvez utiliser Imagen 3 pour générer des images pour l'écran de la recette.
Image générée par Imagen 3 avec l'invite: Illustration de style cartoon d'un plan de travail de cuisine avec de beaux ingrédients pour un repas méditerranéen.
Par exemple, Imagen 3 peut permettre à vos utilisateurs de générer leurs propres avatars de profil ou de créer des composants pour illustrer des flux d'écran existants. Pour une application de préparation de repas, vous pouvez utiliser Imagen 3 pour générer des images pour l'écran de la recette.
Image générée par Imagen 3 avec l'invite: Illustration de style cartoon d'un plan de travail de cuisine avec de beaux ingrédients pour un repas méditerranéen.

dependencies { implementation(platform("com.google.firebase:firebase-bom:33.10.0")) implementation("com.google.firebase:firebase-vertexai") }
L'intégration d'Imagen 3 est semblable à l'accès à un modèle Gemini via Vertex AI dans Firebase.
Commencez par ajouter les dépendances Gradle à votre projet Android:
Commencez par ajouter les dépendances Gradle à votre projet Android:
val imageModel = Firebase.vertexAI.imagenModel( modelName = "imagen-3.0-generate-001", generationConfig = ImagenGenerationConfig( imageFormat = ImagenImageFormat.jpeg(compresssionQuality = 75), addWatermark = true, numberOfImages = 1, aspectRatio = ImagenAspectRatio.SQUARE_1x1 )
Ensuite, dans votre code Kotlin, créez une instance ImageModel en transmettant le nom du modèle et éventuellement une configuration de modèle:
val imageResponse = imageModel.generateImages( prompt = "A cartoon style illustration of a top overview of a kitchen countertop with beautiful ingredients for a $cuisineStyle meal." )
Enfin, générez l'image en appelant "generateImages()" avec une requête textuelle:
val image = imageResponse.images.first() val uiImage = image.asBitmap()
Récupérez l'image générée à partir de "imageResponse" et affichez-la sous forme de bitmap:
Pour en savoir plus sur l'utilisation d'Imagen 3, consultez le blog des développeurs Android et la documentation destinée aux développeurs Android.
Préparer la production avec Firebase
Une fois que vous avez implémenté vos fonctionnalités genAI dans votre application, voici les étapes clés à suivre avant de la déployer en production :
- Implémentez Firebase App Check avec Play Integrity pour éviter toute utilisation abusive de l'API.
- Utilisez Firebase Remote Config pour la configuration contrôlée par le serveur afin de mettre à jour dynamiquement le modèle et la version d'IA.
- Créez des mécanismes d'évaluation avec Google Analytics pour évaluer l'impact et recueillir les commentaires des utilisateurs sur les réponses de l'IA.