ou comment ouvrir un navigateur web depuis une appli….
Je rédige ce petit tutoriel car l’exemple qui se trouve sur le site web d’android ne fonctionne pas. Le voici donc revu et corrigé !
L’objet WebView vous permet de créer votre propre Activity pour un browser internet.
Ca peut être l’activité principale de votre application ou elle peut être lancée via un intent.
Pour tester, créer un nouveau projet OnTheWeb avec comme activity : OnTheWeb et comme nom de package : com.test.ontheweb.
Voici le code de l’activité :
package com.test.ontheweb;
import android.app.Activity;
import android.os.Bundle;
import android.view.KeyEvent;
import android.webkit.WebView;
import android.webkit.WebViewClient;
public class OnTheWeb extends Activity {
WebView webview;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.mywebview);
webview = (WebView)findViewById(R.id.webview);
webview.setWebViewClient(new myWebViewClient());
webview.getSettings().setJavaScriptEnabled(true);
webview.loadUrl("http://www.dansunan.com");
}
@Override
public boolean onKeyDown(int keyCode, KeyEvent event) {
if ((keyCode == KeyEvent.KEYCODE_BACK) && webview.canGoBack()) {
webview.goBack();
return true;
}
return super.onKeyDown(keyCode, event);
}
private class myWebViewClient extends WebViewClient {
@Override
public boolean shouldOverrideUrlLoading(WebView view, String url) {
view.loadUrl(url);
return true;
}
}
}
Et le fichier mywebview.xml qui va bien :
<?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="fill_parent" android:layout_height="fill_parent" android:orientation="vertical"> <WebView android:id="@+id/webview" android:layout_width="fill_parent" android:layout_height="fill_parent" /> </LinearLayout>
Bien sûr , pour avoir accès à internet, il faut ajouter à votre fichier AndroidManifest.xml la ligne :
<uses-permission android:name=”android.permission.INTERNET” />
NB : l’erreur du tutoriel original se trouve dans le fichier .xml qui décrit la WebView.
La LinearLayout définie doit avoir les propriétés :
android:layout_width=”fill_parent”
android:layout_height=”fill_parent”
au lieu de :
android:layout_width=”wrap_content”
android:layout_height=”wrap_content”
Pingback: Developpeur Web » Developpement Androïd : Bien débuter sous ubuntu
C’est bien expliqué
Merci,
Cela fait bien longtemps que je cherche ce code, tu pourrais m’envoyer le zip avec l’application pre-fabriqué ? Comme sa j’airais plus qu’a changer l’adresse.
Merci beaucoup sur tu me le donne !! Voici mon adresse : valentin@univergold.com
Merci encore !
@+
Merci pour le tuto bien plus intuitif que celui fourni sur le site web d’Android
Bonjour,
tutoriel est bien expliqué sauf qu’il m’affiche “page Web non disponible” malgré que j’ai autorisé l’accès à internet dans le fichier AndroidManifest.xml et mon wifi est activé.
quelqu’un peut m’éclaircir ce problème svp .
merci
As-tu essayé avec une autre page web que celle du tutoriel ?
Tu devrais relancer ton appli en mettant comme URL à ouvrir http://www.google.com.
merci flo pour ta réponse, au fait j’ai résolu le problème, j’ai mal placé
<> dans le fichier
AndroidManifest.xml
Merci pour ce tuto très complet. C’est parfait pour les débutants en Android comme moi.
J’ai essayé de le reproduire mais à l’ouverture de l’application j’ai une erreur.
“Sorry! The application has stopped unexpectedly. Please. Try Again.”
J’ai aucune idée d’où ça pourrait venir? De la configuration de l’émulateur?
Merci d’avance
@pap : il faudrait plus d’infos pour vous aidez. peut être un log contenant des traces du crash ?????
Quand je test avec l’emulateur ca marche niquel, mais en apk sur mon tél il me dit qu’il arrive pas a accéder à la page. Comment ca se fait ?
Merci
Il faudrait plus d’infos pour répondre…. Un log ???
C’est parfait pour les débutants en Android comme moi. Merci pour ce tuto très complet