40 votes

comment montrer le contenu html à la webview en utilisant Android

Voici mon contenu html que je veux afficher dans le webview en utilisant Android sdk. Il n'affichera que

//S'il vous plaît.

Mais lorsque je place ce contenu HTML dans le navigateur, il s'affiche différemment.

<br /><br />Read the handouts please for tomorrow.<br /><br /><!--homework help homework

help help with homework homework assignments elementary school high school middle school

// --><font color="#60c000" size="4"><strong>Please!</strong></font>

Veuillez suggérer comment résoudre ce problème

J'ai un autre problème : dans le contenu HTML, il existe une balise

<img src="http://www.homeworknow.com/hwnow/upload/images/tn_star300.gif" border="0" />

dans ces images ne montre pas.

70voto

droidgren Points 1723
  1. Utilisez web.loadDataWithBaseURL au lieu de web.loadData (et n'oubliez pas d'échapper les chaînes de caractères lorsque c'est nécessaire).
  2. Vous devez ajouter une autorisation Internet pour télécharger les images et les afficher dans votre fichier manifeste.

Cet exemple fonctionne pour moi :

public class SimpleMusicStream extends Activity {
    @Override
    public void onCreate(Bundle icicle) {
        super.onCreate(icicle);
        setContentView(R.layout.main);

        WebView wv = (WebView) findViewById(R.id.WebView01);        

        final String mimeType = "text/html";
        final String encoding = "UTF-8";
        String html = "<br /><br />Read the handouts please for tomorrow.<br /><br /><!--homework help homework" +
                "help help with homework homework assignments elementary school high school middle school" +
                "// --><font color='#60c000' size='4'><strong>Please!</strong></font>" +
                "<img src='http://www.homeworknow.com/hwnow/upload/images/tn_star300.gif'  />";

        wv.loadDataWithBaseURL("", html, mimeType, encoding, "");
    }

}

Et n'oubliez pas d'ajouter :

<uses-permission android:name="android.permission.INTERNET"></uses-permission>

dans votre fichier AndroidManifest.xml

10voto

Pragna Points 2599

Vous pouvez le faire comme ci-dessus ou mettre le fichier html dans le dossier des actifs et l'utiliser comme ceci pour l'afficher.

view.loadUrl("file:///android_asset/FILENAME.html");

0voto

Pragna Points 2599

Pour l'affichage des images, vous pouvez le faire comme suit

 String str= " img src=\\"http://www.homeworknow.com/hwnow/upload/images/tn\_star300.gif\\" alt=\\"this is img\\"ALIGN=\\"right\\"/>";
    wv.loadData(str, "text/html", "utf-8");

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X