为了账号安全,请及时绑定邮箱和手机立即绑定

第一阶段代码输完了以后,运行,不能出现 百度的网页,显示空白,怎么回事啊

如题,代码

HttpThread.java

package com.jupiter.httpdemo;

import android.os.Handler;
import android.webkit.WebView;
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.net.MalformedURLException;
import java.net.URL;
import javax.net.ssl.HttpsURLConnection;

public class HttpThread extends Thread{
    private String url;
    private WebView webView;
    private Handler handler;

    public HttpThread(String url, WebView webView, Handler handler) {
        this.url = url;
        this.webView = webView;
        this.handler = handler;
    }

    @Override
    public void run() {
        try {
            URL httpsUrl = new URL(url);
            try {
                HttpsURLConnection conn = (HttpsURLConnection)httpsUrl.openConnection();
                conn.setReadTimeout(5000);      //请求超时时间
                conn.setRequestMethod("GET");   //请求方式为 GET
                final StringBuffer sb = new StringBuffer();
                BufferedReader reader = new BufferedReader(new InputStreamReader(conn.getInputStream()));
                String str;
                while ((str = reader.readLine())!= null){
                    sb.append(str);
                }
                handler.post(new Runnable() {
                    @Override
                    public void run() {
                        webView.loadDataWithBaseURL(url, sb.toString(), "text/html", "uft-8", null);
                    }
                });
            } catch (IOException e) {
                e.printStackTrace();
            }
        } catch (MalformedURLException e) {
            e.printStackTrace();
        }
    }
}

MainActivity.java

package com.jupiter.httpdemo;

import android.os.Handler;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.webkit.WebView;

public class MainActivity extends AppCompatActivity {
    private String url ="http://www.baidu.com/";
    private WebView wevView;
    private Handler handler = new Handler();
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        wevView = (WebView)findViewById(R.id.webView);
        new HttpThread("http://www.baidu.com",wevView,handler).start();
    }
}


正在回答

4 回答

百度的网址现在是https:www.baidu.com


0 回复 有任何疑惑可以回复我~
#1

白丷露 提问者

https://www.baidu.com
2016-10-26 回复 有任何疑惑可以回复我~
#2

白丷露 提问者

我的问题已经解决了。不过还是多谢~
2016-10-26 回复 有任何疑惑可以回复我~

拿到的网页文件拿webview.loadData打开因为一些特殊字符显示不全,使用webview.loadDataWithBaseURL就可以啦!

0 回复 有任何疑惑可以回复我~

您是怎么解决的,我运行时和老师的结果不一样。

0 回复 有任何疑惑可以回复我~
#1

白丷露 提问者

抱歉很久没上线了~你选择系统时,选择4.0试试。我记得貌似5.0+就不行了
2016-12-27 回复 有任何疑惑可以回复我~
#2

小卟 回复 白丷露 提问者

为什么我的也是不行
2017-01-17 回复 有任何疑惑可以回复我~
#3

白丷露 提问者 回复 小卟

抱歉很久都没上过线了。你创建应用时,选择 4.0 的系统试试?我记得应该是这样,太久了有点忘记了
2017-02-08 回复 有任何疑惑可以回复我~

在线等答案呀

0 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消
Android中的Http通信
  • 参与学习       64671    人
  • 解答问题       306    个

了解Android-http网络编程应用,常见忘了请求相关应用

进入课程

第一阶段代码输完了以后,运行,不能出现 百度的网页,显示空白,怎么回事啊

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信