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

Android vous permet de vous appuyer sur la puissance du Web dans votre application. Vous pouvez ainsi bénéficier de la flexibilité et de l'efficacité de l'affichage de certains types de contenu.

Intégrer du contenu à l'aide de WebView

L'API WebView vous donne accès aux fonctionnalités d'un mini-navigateur pour afficher du contenu Web dans votre application. Vous pouvez ainsi proposer des expériences Web en tant que partie principale ou secondaire de votre application, comme illustré dans la figure 1.

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

Ce que WebView peut faire

Vous pouvez effectuer les opérations suivantes avec WebView dans votre application :

  • Web intégré : un WebView est intégré à 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 récupérer et afficher des pages Web à partir d'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 de manière dynamique et le fournir à WebView.
  • Affichage : WebView utilise son moteur de navigateur pour analyser et afficher le code HTML, CSS et JavaScript, en affichant la page Web obtenue dans la zone désignée de l'UI de l'application.

  • Exécuter du code 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 le WebView.

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

    • JavaScript vers le code de l'application : le code JavaScript exécuté dans un 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.

    • Code d'application vers JavaScript : l'application peut également injecter du code JavaScript dans un WebView, manipuler le contenu de la page Web ou répondre aux événements déclenchés par la page Web.

Différences entre WebView et un navigateur

Un 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 barre de navigation et d'autres éléments d'interface utilisateur pour naviguer sur le Web de manière plus générale, l'expérience globale d'un WebView est façonnée par la conception et l'objectif de votre application.

Pour mieux comprendre en quoi WebView diffère des navigateurs standards, consultez les explications suivantes :

UI : un WebView est utilisé pour afficher du contenu Web et ne possède pas son propre en-tête ni sa propre UI, contrairement à la plupart des autres navigateurs courants (par exemple, un bouton d'accueil, une barre d'adresse ou un menu de paramètres).

Fonctionnalités : de nombreux navigateurs intègrent des fonctionnalités 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 déployées et intégrées automatiquement dans les applications tous les mois. Les navigateurs s'appuient sur les mises à jour d'application correspondantes, puis sur les utilisateurs finaux pour appliquer la mise à jour sur leurs appareils.

Commencer

Pour savoir comment utiliser WebView dans votre application, consultez le document Créer des applications Web dans WebView.

Ressources supplémentaires

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