HttpUrConnection_get请求======

来源:互联网 发布:传奇怪物数据 编辑:程序博客网 时间:2024/06/01 10:00

====================MainActivity=======================


package com.example.day05_httpurlconnection;


import java.io.ByteArrayOutputStream;
import java.io.InputStream;
import java.lang.reflect.Type;
import java.net.HttpURLConnection;
import java.net.URL;
import java.util.List;


import android.app.Activity;
import android.os.Bundle;
import android.os.Handler;
import android.widget.ListView;


import com.example.adapter.MyAdapter;
import com.example.bean.Data;
import com.google.gson.Gson;
import com.google.gson.reflect.TypeToken;


public class MainActivity extends Activity {

String path = "http://169.254.139.192:8080/user.json";


private ListView lv;
private List<Data> list;

private Handler handler = new Handler(){
public void handleMessage(android.os.Message msg) {
//添加适配器
MyAdapter adapter = new MyAdapter(MainActivity.this,list);
lv.setAdapter(adapter);

};
};


@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
//控件
lv = (ListView) findViewById(R.id.lv);
//获得数据
getData();

}



//从服务器上获得数据
private void getData() {
new Thread(){


public void run() {
try {
URL url = new URL(path);
HttpURLConnection connection = (HttpURLConnection) url.openConnection();
connection.setRequestMethod("GET");
connection.setConnectTimeout(5000);

int code = connection.getResponseCode();
if (code == 200) {
//服务器给我们的输入流
InputStream is = connection.getInputStream();

ByteArrayOutputStream baos = new ByteArrayOutputStream();

byte[] arr = new byte[1024];
int len = 0;

while ((len = is.read(arr))!=-1) {
baos.write(arr, 0, len);
}

String result = baos.toString();

Gson gson = new Gson();
Type type = new TypeToken<List<Data>>(){}.getType(); 
list = gson.fromJson(result, type);

handler.sendEmptyMessage(0);
}


} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}

};

}.start();
}




}

0 0
原创粉丝点击