Android:如何通过 BufferedReader 获取正确的 html 字符串?

问题描述

尝试获取预加载的内容以在 WebView 中进一步显示它,但会像这样获取一些非常小的 html

enter image description here

我做错了什么?

谢谢。

public void function exec () {
        WebView webView = R.id.webView;
        webView.getSettings().setJavaScriptEnabled(true);

        webView.getSettings().setJavaScriptCanOpenWindowsAutomatically(true);


        getPreloadData(link).subscribe(htmlData -> {
            if (htmlData.length() > 0) {
                webView.loadData(htmlData,"text/html","UTF-8");
            }
        });
}

private Observable<String> getPreloadData(String link) {
    return Observable.fromCallable(() -> {
        StringBuilder buffer = new StringBuilder("");
        try {
            URL url = new URL("https://oracle.com");
            url.getContent();
            BufferedReader reader = new BufferedReader(new InputStreamReader(url.openStream()));

            while (reader.readLine() != null) {
                buffer.append(reader.readLine());
            }
            reader.close();
        } catch (IOException e) {
            e.printStackTrace();
        }
        
        System.out.println("BUFFER ::: " + buffer.toString());
        return buffer.toString();
    }).subscribeOn(Schedulers.io()).observeOn(AndroidSchedulers.mainThread());
}

系统输出显示这一点,这是更多但仍然不是全部数据

enter image description here

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)

相关问答

错误1:Request method ‘DELETE‘ not supported 错误还原:...
错误1:启动docker镜像时报错:Error response from daemon:...
错误1:private field ‘xxx‘ is never assigned 按Alt...
报错如下,通过源不能下载,最后警告pip需升级版本 Requirem...