1.android的API提供了访问网络的一个类HttpURLConnection
企业建站必须是能够以充分展现企业形象为主要目的,是企业文化与产品对外扩展宣传的重要窗口,一个合格的网站不仅仅能为公司带来巨大的互联网上的收集和信息发布平台,成都创新互联公司面向各种领域:发电机维修等网站设计、成都全网营销推广解决方案、网站设计等建站排名服务。
2.通过发送GET请求获取服务器返回的html代码
3.先看看布局文件,如下所示,
布局样子:
4.下来是清单文件,记得连接网络要添加权限
5.1再看java代码,MainActivity的
package com.market.source;import android.app.Activity;import android.os.Bundle;import android.util.Log;import android.view.View;import android.widget.EditText;import android.widget.TextView;import java.io.IOException;import java.io.InputStream;import java.net.HttpURLConnection;import java.net.MalformedURLException;import java.net.ProtocolException;import java.net.URL;import java.net.URLConnection;import butterknife.BindView;import butterknife.ButterKnife;public class MainActivity extends Activity { @BindView(R.id.et) EditText et; @BindView(R.id.tv) TextView tv; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); ButterKnife.bind(this); } public void get(View vew) throws IOException { final String str = et.getText().toString().trim(); new Thread(){ @Override public void run() { //1.请求地址url URL url = null; try { url = new URL(str); //2.获取对这个地址的连接 HttpURLConnection con = (HttpURLConnection) url.openConnection(); //3.设置对这个地址的请求,GET请求 con.setRequestMethod("GET"); //4.设置请求参数 con.setConnectTimeout(5000); //5.获取服务器的响应 int code = con.getResponseCode(); //6.根据响应吗,判断请求成功还是失败,200成功 if(code==200){ //7.成功的话,服务器一流的形式返回数据 InputStream inputStream = con.getInputStream(); //8.这个流是字节流,需要我们转换为字符流才可以认识 final String info = StreamTool.StreamtoString(inputStream); Log.e("MainActivity",info); runOnUiThread(new Runnable() { @Override public void run() { tv.setText(info); } }); } } catch (MalformedURLException e) { e.printStackTrace(); } catch (ProtocolException e) { e.printStackTrace(); } catch (IOException e) { e.printStackTrace(); } } }.start(); } }
5.2工具类,用来将一个流转化为字符串
public class StreamTool { public static String StreamtoString(InputStream inputStream) { int len = -1; byte[] buffer = new byte[1024]; //内存数组输出流 ByteArrayOutputStream baos = new ByteArrayOutputStream(); try { while((len=inputStream.read(buffer)) != -1){ baos.write(buffer,0,len); } String str = new String(baos.toByteArray()); return str; } catch (IOException e) { e.printStackTrace(); }finally { try { inputStream.close(); } catch (IOException e) { e.printStackTrace(); } } return null; } }
6.运行效果查看