Intégrer du contenu Web dans votre application en tant que contenu principal ou secondaire
Restez organisé à l'aide des collections
Enregistrez et classez les contenus selon vos préférences.
Android vous permet de tirer parti de 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 comme élément principal ou complémentaire de votre application, comme illustré dans la figure 1.
Figure 1. Contenu Web intégré à l'application avec des objets `WebView` comme contenu principal (à gauche) et contenu secondaire (à droite).
Ce que WebView peut faire
Voici ce que vous pouvez faire avec WebView dans votre application :
Intégration Web : 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 provenant de différentes sources :
URL distantes : il peut récupérer et afficher des pages Web sur Internet, comme un navigateur classique.
Fichiers locaux : il peut charger des fichiers HTML, CSS et JavaScript stockés dans les ressources de l'application.
Contenu généré de manière dynamique : 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, et affiche 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.
Interagissez avec votre application : c'est là que WebView devient plus puissant. Il permet une communication bidirectionnelle entre la page Web et l'application.
Code JavaScript vers code d'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érence entre WebView et un navigateur
Un WebView est un composant hautement personnalisé qui fournit la fonctionnalité 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 la différence entre WebView et les 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 comme 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 permettant d'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 envoyées 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.
Le contenu et les exemples de code de cette page sont soumis aux licences décrites dans la Licence de contenu. Java et OpenJDK sont des marques ou des marques déposées d'Oracle et/ou de ses sociétés affiliées.
Dernière mise à jour le 2025/09/05 (UTC).
[[["Facile à comprendre","easyToUnderstand","thumb-up"],["J'ai pu résoudre mon problème","solvedMyProblem","thumb-up"],["Autre","otherUp","thumb-up"]],[["Il n'y a pas l'information dont j'ai besoin","missingTheInformationINeed","thumb-down"],["Trop compliqué/Trop d'étapes","tooComplicatedTooManySteps","thumb-down"],["Obsolète","outOfDate","thumb-down"],["Problème de traduction","translationIssue","thumb-down"],["Mauvais exemple/Erreur de code","samplesCodeIssue","thumb-down"],["Autre","otherDown","thumb-down"]],["Dernière mise à jour le 2025/09/05 (UTC)."],[],[],null,["Android lets you build on the power of the web within your app. So, you can\nbenefit from the flexibility and efficiency of displaying certain types of\ncontent.\n\nEmbedding content using `WebView`\n\nThe [`WebView`](/reference/android/webkit/WebView) API gives you access to the capabilities of a mini-browser\nfor displaying web content within your app. This lets you provide web-powered\nexperiences as a core or supporting part within your app, as seen in **Figure\n1**.\n**Figure 1.** Web content embedded within the app with \\`WebView\\` objects as primary (left) and supporting content (right).\n\nWhat `WebView` can do\n\nYou can do the following with `WebView` in your app:\n\n- **Embed web** : A `WebView` is integrated into an app's user interface as a\n component, much like a button or text field.\n\n- **Load content** : `WebView` can load web content from various sources:\n\n - Remote URLs: It can fetch and display web pages from the internet, just like a regular browser.\n - Local files: It can load HTML, CSS, and JavaScript files stored within the app's resources.\n - Dynamically generated content: The app can generate HTML content dynamically and provide it to the `WebView`.\n- **Render** : `WebView` uses its browser engine to parse and render the HTML,\n CSS, and JavaScript, displaying the resulting web page within its designated\n area in the app's UI.\n\n- **Execute JavaScript** : `WebView` can execute JavaScript code within the\n context of the loaded web page. This allows for dynamic interactions and\n updates within the `WebView`.\n\n- **Interact with your app** : This is where `WebView` gets more powerful. It\n enables bidirectional communication between the web page and the app.\n\n - **JavaScript to app code** : JavaScript code running in a `WebView` can call\n host APIs of the app, enabling access to device features like camera, GPS,\n or sensors.\n\n - **App code to JavaScript** : The app can also inject JavaScript code into a\n `WebView`, manipulate the web page's content, or respond to events triggered\n by the web page.\n\nHow `WebView` differs from a browser\n\nA `WebView` is a highly custom component that provides the core functionality of\na window into the web. Unlike a browser, which provides a navigation bar and\nother user interface elements to navigate the web more broadly, the overall\nexperience of a `WebView` is shaped by your app's design and purpose.\n\nTo better understand how `WebView` differs from standard browsers, see the\nfollowing explanations:\n\n**UI** : A `WebView` is used for displaying web content and doesn't have its own\nheader or UI like most other common browsers, for example, a home button,\naddress bar, or settings menu.\n\n**Features**: Many browsers have built-in features to augment the\nbrowsing experience, such as bookmarks, permissions, or history.\n\n**Updates** : Because Android `WebView` is a system service on Android, updates\nare pushed and integrated into the apps automatically on a monthly basis.\nBrowsers rely on their corresponding app updates and then for end users to apply\nthe update on their devices.\n\nGet started\n\nFor information on how to use `WebView` in your app, see the document\n[Build web apps in `WebView`](/guide/webapps/webview).\n\nAdditional resources\n\nTo develop web pages for Android-powered devices using `WebView` objects or\nCustom Tabs, see the following documents:\n\n- [Build web apps in `WebView`](/guide/webapps/webview)\n- [Manage `WebView` objects](/guide/webapps/managing-webview)\n- [Support different screens in web apps](/guide/webapps/targeting)\n- [Debug web apps](/guide/webapps/debugging)\n- [Best practices for web apps](/guide/webapps/best-practices)\n- [Opt-in to `WebView` Beta](https://play.google.com/apps/testing/com.google.android.webview)\n- [In-app browsing using embedded web](/develop/ui/views/layout/webapps/in-app-browsing-embedded-web)\n- [Overview of Android Custom Tabs](/develop/ui/views/layout/webapps/overview-of-android-custom-tabs)"]]