您的位置:首页 > 理论基础 > 计算机网络

HttpUrlConnection加载网络

2016-02-29 11:27 417 查看
package com.bwie.HTTPConnect;

import java.io.BufferedReader;

import java.io.InputStream;

import java.io.InputStreamReader;

import java.net.HttpURLConnection;

import java.net.URL;

import java.net.URISyntaxException;

import java.net.URLConnection;

import java.util.List;

import com.bwie.HTTPConnect.JsonData.Data;

import com.bwie.HTTPConnect.JsonData.Items;

import com.google.gson.Gson;

import android.os.Bundle;

import android.os.Handler;

import android.app.Activity;

import android.util.Log;

import android.view.Menu;

import android.widget.ListView;

public class MainActivity extends Activity {
private List<Items> list;
private MyAdapter adapter;
private ListView lv_list;

@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
lv_list=(ListView)findViewById(R.id.lv_list);
new Thread(){
public void run() {
// 在子线程请求网络数据 
getInfo();
};
}.start();
}

private void getInfo(){
String get_path = "http://169.254.151.168:8080/jsondata.json";
try {
// 得到URL对象,设置要访问的路径
URL url=new URL(get_path);
// 得到联网操作类,HttpURLConnection
HttpURLConnection openConnection = (HttpURLConnection) url.openConnection();
// 设置连接超时,以毫秒为单位
openConnection.setConnectTimeout(5000);
// 设置请求方式,有GET和POST
openConnection.setRequestMethod("GET");
// 设置读取超时,以毫秒为单位
openConnection.setReadTimeout(5000);
// 开始连接
openConnection.connect();
//通过响应码判断是否连接成功
if (openConnection.getResponseCode()==200) {
// 得到服务器返回的数据,是以流的形式返回的
InputStream inputStream = openConnection.getInputStream();
InputStreamReader builder=new InputStreamReader(inputStream);

// BufferedReader reader=new BufferedReader(new InputStrea·mReader(inputStream));

// String readData=reader.readLine();

// StringBuilder builder=new StringBuilder();

// while (readData!=null) {

// builder = builder.append(readData);

// }
Gson gson=new Gson();
JsonData fromJson = gson.fromJson(builder, JsonData.class);
list = fromJson.data.items;
runOnUiThread(new Runnable() {

@Override
public void run() {
adapter=new MyAdapter(list, MainActivity.this);
lv_list.setAdapter(adapter);
}
});
}
} catch (Exception e) {
e.printStackTrace();
}
}

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: