Maison  >  Article  >  interface Web  >  Explication détaillée sur la façon de charger du code HTML à l'aide de WebView

Explication détaillée sur la façon de charger du code HTML à l'aide de WebView

高洛峰
高洛峰original
2017-03-24 11:33:323403parcourir

Lorsque vous utilisez EditText pour afficher des chaînes HTML, EditText n'analysera pas les balises HTML, mais affichera directement toutes les balises HTML - tout comme l'affichage avec le Bloc-notes ordinaire si l'application souhaite réanalyser les chaînes HTML et les afficher. sous forme de pages HTML.

La méthode loadData(String data, String mimeType, String encoding) fournie par WebView peut être utilisée pour charger et afficher du code HTML, mais en utilisation réelle, lors du chargement du contenu HTML chinois, WebView affichera des caractères tronqués. affiché.

WebView fournit également une méthode loadDataWithBaseURL(String baseUrl, String data, String mimeType, String encoding, String historyUrl), qui est une version améliorée de la méthode loadData(String data, String mimeType, String encoding). des caractères tronqués seront générés.

1. data : Spécifiez le code HTML qui doit être chargé.

2. mimeType : Spécifiez le type MIME du code HTML. Pour le code HTML, il peut être spécifié comme text/html.

3. encodage : Spécifiez le jeu de caractères utilisé pour l'encodage du code HTML. Par exemple, spécifiez GBK.

import android.os.Bundle;
import android.app.Activity;
import android.view.Menu;
import android.webkit.WebView;
 
public class ViewHtml extends Activity {
  WebView show;
 
  @Override
  protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_view_html);
    //获取程序中的WebView组件
    show = (WebView) findViewById(R.id.show);
    StringBuilder sb = new StringBuilder();
    //拼接一段HTML代码
    sb.append("<html>");
    sb.append("<head>");
    sb.append("<title>Our Love</title>");
    sb.append("</head>");
    sb.append("<body>");
    sb.append("<h2>Love<a href=\"http://love.shiningchen.cc\">"
            +"Shining</a></h2>");
    sb.append("</body>");
    sb.append("</html>");
    //使用简单的loadData方法会导致乱码,可能是Android API的Bug
    //show.loadData(sb.toString(), "text/html", "utf-8");
    //加载、并显示HTML代码
    show.loadDataWithBaseURL(null,sb.toString(), "text/html", "utf-8", null);
  }
}

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn