解析数据并在webview中加载html

时间:2015-04-15 03:08:30

标签: android webview

我有一个URL,我使用Jsoup来获取数据并删除标题。但是当我加载到Webview时,一些图像没有显示,这就是我的问题。

我的代码在这里!

  @Override
            protected Void doInBackground(Void... params) {
                try {
                    Document doc = Jsoup.connect(URL).timeout(10 * 300)
                            .userAgent(USER_AGENT_MOBILE).get();
                    doc.outputSettings().escapeMode(EscapeMode.xhtml);
                    doc.select("div.header").remove();
                    String b = doc.toString();
                    webView.loadData(b, "text/html", "utf-8");
                } catch (IOException e) {
                    e.printStackTrace();
                }
                return null;
            }
}

输出

enter image description here

3 个答案:

答案 0 :(得分:0)

WebSettings webSettings = webView.getSettings();
webSettings.setJavaScriptEnabled(true);

答案 1 :(得分:0)

使用此

byte[] imageRaw = null;
                    try {
                        URL url = new URL("http://some.domain.tld/somePicture.jpg");
                        HttpURLConnection urlConnection = (HttpURLConnection) url.openConnection();
                        InputStream in = new BufferedInputStream(urlConnection.getInputStream());
                        ByteArrayOutputStream out = new ByteArrayOutputStream();

                        int c;
                        while ((c = in.read()) != -1) {
                            out.write(c);
                        }
                        out.flush();

                        imageRaw = out.toByteArray();

                        urlConnection.disconnect();
                        in.close();
                        out.close();
                    } catch (IOException e) {
                        // TODO Auto-generated catch block
                        e.printStackTrace();
                    }

                    String image64 = Base64.encodeToString(imageRaw, Base64.DEFAULT);

                    String urlStr   = "http://example.com/my.jpg";
                    String mimeType = "text/html";
                    String encoding = null;
                    String pageData = "<img src=\"data:image/jpeg;base64," + image64 + "\" />";

                    WebView wv;
                    wv = (WebView) findViewById(R.id.webview);
                    wv.loadDataWithBaseURL(urlStr, pageData, mimeType, encoding, urlStr);

答案 2 :(得分:0)

Hello Iris Louis你必须使用这种WebView方法。

下面的方法结果是你传递的 b 的html字符串。

  

<强> webView.loadDataWithBaseURL(null, result, "text/html", "utf-8", null);

这样你的问题就解决了。