在9.2.1 使用HttpURLConnection 中其中的 Url=“http://www.baidu.com”中如今百度所以网址协议都改为https
如果还按原代码中的输的话是得不到结果的,如今网络技术变化快,各位同行请注意。还有学会打log
注意布局的横和竖。
package com.example.administrator.httpurlconnection; import android.support.v7.app.AppCompatActivity; import android.os.Bundle; import android.util.Log; import android.view.View; import android.widget.Button; import android.widget.TextView; import java.io.BufferedReader; import java.io.IOException; import java.io.InputStream; import java.io.InputStreamReader; import java.net.HttpURLConnection; import java.net.MalformedURLException; import java.net.URL; import javax.net.ssl.HttpsURLConnection; import static java.lang.System.in; public class MainActivity extends AppCompatActivity implements View.OnClickListener { TextView textView; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); textView=(TextView)findViewById(R.id.tv_content); Button button=(Button)findViewById(R.id.send_request); button.setOnClickListener((View.OnClickListener) this); } public void onClick(View view) { switch (view.getId()){ case R.id.send_request: sendRequestWithURLConnection(); break; default: break; } } //开启线程启用网络操作,记得添加网络权限 private void sendRequestWithURLConnection(){ new Thread(new Runnable() { @Override public void run() { HttpURLConnection httpURLConnection=null;//不可以访问https的地址 BufferedReader bufferedReader=null;//BufferredReader 包装类,用来包装字符流,将字符流放入缓存里,满了再写入内存 用来提高效率。 try { URL url = new URL("http://jandan.net/"); httpURLConnection= (HttpURLConnection) url.openConnection();//得到 HttpURLConnection实例 httpURLConnection.setRequestMethod("GET");//请求方法 httpURLConnection.setConnectTimeout(8000); httpURLConnection.setReadTimeout(8000); if(httpURLConnection.getResponseCode()==200){ Log.i("Tag","成功"); } InputStream in = httpURLConnection.getInputStream();//InputStream类 从流中读取数据 常用方法 int read()读取一个字节 int read(byte b[]) //读取多个字节放入数组b中 int available()返回尚未读取的字节数量 //下面对得到输出流进行读取 bufferedReader = new BufferedReader(new InputStreamReader(in)); StringBuilder response= new StringBuilder();//非线程安全 String line; while ((line=bufferedReader.readLine())!=null){ response.append(line); } showRespoe(response.toString());//.toString 转换成字符串 Log.i("tag",response.toString()); } catch (MalformedURLException e) { e.printStackTrace(); } catch (IOException e) { e.printStackTrace(); } finally { if (bufferedReader!=null) try { bufferedReader.close(); } catch (IOException e) { e.printStackTrace(); } if (httpURLConnection!=null) httpURLConnection.disconnect(); } } }).start(); } private void showRespoe(final String response){ runOnUiThread(new Runnable() { @Override public void run() { textView.setText(response); } }); } }