HttpURLConnection请求数据
2016-06-13 11:01
441 查看
package com.bawei.http;
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 java.net.URLConnection;
import java.util.List;
import com.bawei.bean.Bean;
import com.bawei.bean.CabinInfos;
import com.bawei.bean.Result;
import com.google.gson.Gson;
import android.os.Bundle;
import android.app.Activity;
import android.util.Log;
import android.view.Menu;
import android.widget.TextView;
public class MainActivity extends Activity {
}
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 java.net.URLConnection;
import java.util.List;
import com.bawei.bean.Bean;
import com.bawei.bean.CabinInfos;
import com.bawei.bean.Result;
import com.google.gson.Gson;
import android.os.Bundle;
import android.app.Activity;
import android.util.Log;
import android.view.Menu;
import android.widget.TextView;
public class MainActivity extends Activity {
private TextView tv; private Gson gson; private List<CabinInfos> cabinInfos; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); // 获取控件 tv = (TextView) findViewById(R.id.textView); gson = new Gson(); new Thread() { @Override public void run() { super.run(); getData(); } }.start(); } /** * 联网请求数据 * */ private void getData() { try { // 得到URL对象,设置访问地址 这里是百度官网 URL url = new URL("http://169.254.89.125:8080/bawei/plane_tickets.json"); // 得到HttpURLConnection对象 HttpURLConnection httpURLConnection = (HttpURLConnection) url .openConnection(); // 设置请求方式 两种------>POST/GET httpURLConnection.setRequestMethod("POST"); // 设置连接超时 httpURLConnection.setConnectTimeout(5000); // 设置读取超时 httpURLConnection.setReadTimeout(5000); // 正式联网 httpURLConnection.connect(); // 获取状态码 ,也可以看作是响应码 200------->连接成功 int responseCode = httpURLConnection.getResponseCode(); if (responseCode == 200) { Log.d("lcr", "联网请求成功"); // 获取包含数据的输入流 InputStream inputStream = httpURLConnection.getInputStream(); Bean bean = gson.fromJson(new InputStreamReader( inputStream, "gbk"), Bean.class); List<Result> result = bean.getResult(); for (Result result2 : result) { cabinInfos = result2.getCabinInfos(); Log.d("lcr", cabinInfos.toString()); } // 缓冲流 BufferedReader br = new BufferedReader(new InputStreamReader( inputStream, "gbk")); // 记录每一行读取的数据 // 拼接数据 final StringBuffer buffer = new StringBuffer(); while (true) { String data = br.readLine(); if (data != null) { buffer.append(data); } else { break; } } runOnUiThread(new Runnable() { @Override public void run() { tv.setText(cabinInfos.toString()); } }); } else { Log.d("lcr", "连网失败"); } } catch (MalformedURLException e) { // TODO Auto-generated catch block e.printStackTrace(); } catch (IOException e) { // TODO Auto-generated catch block e.printStackTrace(); } }
}
相关文章推荐
- 神经网络概述
- NET(C#):使用HttpWebRequest头中的Range下载文件片段
- TCP/IP协议零散笔记
- HTTP和FTP的区别
- 网络协议-HTTP协议详解
- 神经网络基本类型
- 在android中用NetworkImageView读取网络图片并通过ListView显示出来
- 网络设备配置(一)
- HTTPS的七个误解
- 关于linux环境下,网络序号互换,以eth2换为eth0为例
- HTTP常见问题
- tcp/udp高并发和高吐吞性能测试工具
- 一个ubuntu服务器的网络不能问题
- RTSP/RTP/RTCP协议总结
- [置顶] Android网络通信Volley框架源码浅析(三)
- UNIX网络编程之第二步之嚼烂基本TCP套接字编程(以简单的TCP客户/服务器回射程序为例)
- [置顶] Android网络通信Volley框架源码浅析(二)
- 线程与网络编程(第五节:UDP的扩展与双工通信)
- [置顶] Android网络通信Volley框架源码浅析(一)
- 星宇专卖店POS收银软件管理系统 v2.49 官方版