Bienvenue, nous allons dans ce tutoriel monter comment afficher des pages web dans le navigateur de votre mobile . Il pourrait vous prendre l'envie de montrer à votre utilisateur une page Web. Ou alors il se peut que vous vouliez faire une interface graphique à l'aide de HTML.
Pour avoir une utilisation plus poussée de HTML, on va utiliser une nouvelle vue qui s'appelle
WebView
. En plus d'être une vue très puissante, WebView
est commandé par WebKit, un moteur de rendu de page Web qui fournit des méthodes pratiques pour récupérer des pages sur internet, effectuer des recherches dans la page, etc.Charger directement du HTML
Pour insérer des données HTML sous forme textuelle, vous pouvez utiliser
void loadData(String data, String mimeType, String encoding)
avec data
les données HTML, mimeType
le type MIME (en général text/html
) et l'encodage défini dans encoding
. Si vous ne savez pas quoi mettre pour encoding
, mettez « UTF-8 », cela devrait aller la plupart du temps.packagecom.amine.webview;
import
android.app.Activity;
import
android.os.Bundle;
import
android.webkit.WebView;
public class MainActivity extends Activity
{
private WebView mWebView = null;
@Override
protected void onCreate(Bundle
savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
mWebView=(WebView)
findViewById(R.id.webView1);
mWebView.loadData("<html><head><meta
charset=\"utf-8\" /></head>" + "<body>Hello Wolrd !
!</body></html>", "text/html", "UTF-8");
}
}
Après le lancement de votre application sur l'émulateur, vous aurez le résultat suivant :
Charger une page sur internet
La première chose à faire est de demander la permission pour aller sur internet dans le Manifest :
<uses-permission
android:name="android.permission.INTERNET"
/>
Puis vous pouvez charger le contenu avec
void loadUrl(String url)
. Ainsi, avec ce code :
@Override
protected void onCreate(Bundle
savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
mWebView=(WebView)
findViewById(R.id.webView1);
mWebView.loadUrl("http://www.google.tn");
}
… on obtient la figure suivante :