Intégrer du contenu Web dans votre application en tant que contenu principal ou secondaire

En tant que développeur, Android vous permet de tirer parti de la puissance du Web dans votre application native. Vous pouvez ainsi profiter de la flexibilité et de l'efficacité de l'affichage de certains types de contenus.

Intégrer du contenu à l'aide de WebView

L'API WebView donne aux développeurs accès aux fonctionnalités d'un mini-navigateur pour afficher du contenu Web dans votre application. Cela vous permet de fournir des expériences Web en tant que composant principal ou secondaire de votre application, comme illustré à la figure 1.

Application Android ouverte sur Google Play, avec la vue Web principale mise en surbrillance dans un cadre rouge Application Android ouverte avec du texte d'accompagnement dans un cadre rouge.
Figure 1 Contenu Web intégré à l'application avec des WebViews en tant que contenu principal (à gauche) et secondaire (à droite).

À quoi sert WebView ?

Voici ce que vous pouvez faire avec WebView dans votre application:

Intégration du Web: une WebView est intégrée à l'interface utilisateur d'une application en tant que composant, comme un bouton ou un champ de texte.

Charger du contenu: WebView peut charger du contenu Web à partir de différentes sources:

  • URL distantes: il peut extraire et afficher des pages Web depuis Internet, comme un navigateur standard.
  • Fichiers locaux: il peut charger des fichiers HTML, CSS et JavaScript stockés dans les ressources de l'application.
  • Contenu généré dynamiquement: l'application peut générer du contenu HTML instantanément et l'envoyer au WebView.

Affichage: WebView utilise son moteur de navigateur pour analyser et afficher le code HTML, CSS et JavaScript, et afficher la page Web résultante dans la zone désignée de l'interface utilisateur de l'application.

Exécuter JavaScript: WebView peut exécuter du code JavaScript dans le contexte de la page Web chargée. Cela permet des interactions et des mises à jour dynamiques dans WebView.

Interaction avec une application native: c'est là que WebView devient plus puissant. Il permet une communication bidirectionnelle entre la page Web et l'application.

  • JavaScript vers natif: le code JavaScript exécuté dans WebView peut appeler les API hôtes de l'application, ce qui permet d'accéder aux fonctionnalités de l'appareil telles que l'appareil photo, le GPS ou les capteurs.
  • Native en JavaScript: l'application peut également injecter du code JavaScript dans WebView, manipuler le contenu de la page Web ou répondre aux événements déclenchés par la page Web.

En quoi WebView est-il différent d'un navigateur classique comme Chrome ?

WebView est un composant hautement personnalisé qui fournit les fonctionnalités de base d'une fenêtre sur le Web. Contrairement à un navigateur, qui fournit une grande partie de la barre de navigation et d'autres besoins des utilisateurs pour naviguer sur le Web plus largement, l'expérience globale de WebView est façonnée par la conception et l'objectif de votre application.

Pour mieux comprendre les différences entre WebView et les navigateurs standards, consultez les explications suivantes:

UI: WebView permet d'afficher du contenu Web. Il ne possède pas de propre en-tête ni d'UI, comme la plupart des autres navigateurs courants (bouton d'accueil, barre d'URL, navigation, paramètres, etc.).

Fonctionnalités: de nombreux navigateurs intègrent des fonctionnalités supplémentaires pour améliorer l'expérience de navigation, comme les favoris, les autorisations ou l'historique.

Mises à jour: comme Android WebView est un service système sur Android, les mises à jour sont transmises et intégrées automatiquement aux applications tous les mois. Les navigateurs s'appuient sur les mises à jour de leurs applications correspondantes, puis sur les utilisateurs finaux pour appliquer la mise à jour sur leurs appareils.

Par où commencer ?

Pour savoir comment utiliser WebView dans votre application, consultez l'article Développer des applications Web dans WebView.

Ressources supplémentaires

Pour développer des pages Web pour des appareils Android à l'aide d'objets WebView ou d'onglets personnalisés, consultez les documents suivants: