HttpClient获取网络数据

来源:互联网 发布:农村淘宝怎么赚钱 编辑:程序博客网 时间:2024/04/29 16:37
package com.example.httpclient;




import java.io.IOException;
import java.io.UnsupportedEncodingException;
import java.util.ArrayList;
import java.util.List;


import org.apache.http.HttpEntity;
import org.apache.http.HttpResponse;
import org.apache.http.NameValuePair;
import org.apache.http.StatusLine;
import org.apache.http.client.ClientProtocolException;
import org.apache.http.client.HttpClient;
import org.apache.http.client.entity.UrlEncodedFormEntity;
import org.apache.http.client.methods.HttpPost;
import org.apache.http.impl.client.DefaultHttpClient;
import org.apache.http.message.BasicNameValuePair;
import org.apache.http.util.EntityUtils;


import com.example.bean.Book;
import com.example.bean.Book.Result;
import com.google.gson.Gson;


import android.app.Activity;
import android.os.Bundle;
import android.os.Handler;
import android.os.Message;
import android.util.Log;
import android.view.Menu;
import android.view.MenuItem;
import android.view.View;
import android.widget.ListView;
import android.widget.Toast;


public class MainActivity extends Activity {


private static final String TAG = "main";
private ListView lv;
private Handler handler=new Handler(){
public void handleMessage(Message msg) {
Book b=(Book) msg.obj;
    ArrayList<Result> result = b.result;
    for (int i = 0; i < result.size(); i++) {
    Result r = result.get(i);
    Log.i(TAG, r.toString());
lv.setAdapter(new Mybase(MainActivity.this,result));
}
};
};
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
lv = (ListView) findViewById(R.id.lv);
new Thread(){
public void run() {
getInfoClient();
}
}.start();
}
private void getInfoClient() {
//聚合
// String uri= "http://apis.juhe.cn/goodbook/catalog?";
//百度
String uri= "http://www.baidu.com";
//得到HttpClient对象
HttpClient client=new DefaultHttpClient();
//通过post方式访问,并制定借口地址,传的参数就是借口地址
HttpPost post=new HttpPost(uri);
//该list集合是携带客户端发给服务端的参数
List<NameValuePair> list=new ArrayList<NameValuePair>();
list.add(new BasicNameValuePair("key", "cca134699ab46a8322a322c8c011449a"));
   
try {
//得到实体类对象,并指定需要携带的参数和编码集
UrlEncodedFormEntity entity=new UrlEncodedFormEntity(list);
   //将实体设置给post对象,用于床底服务器
post.setEntity(entity);
   //执行网络请求
HttpResponse response=client.execute(post);
//得到状态行
   StatusLine statusLine = response.getStatusLine();
   //得到状态码
   int statusCode = statusLine.getStatusCode();
   if(statusCode==200){
    //得到服务器返回的实体,这个实体包含着需要的数据
    HttpEntity httpEntity=response.getEntity();
    //将实体转换为String类型
    String string = EntityUtils.toString(httpEntity);
    Log.i(TAG, string);
//     Gson g=new Gson();
//     Book b = g.fromJson(string, Book.class);
//
//     Message message=new Message();
//     message.obj=b;
//     handler.sendMessage(message);
   }else{
    Toast.makeText(this, "服务器错误", 0).show();
   }
} catch (UnsupportedEncodingException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (ClientProtocolException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}


};


}
0 0
原创粉丝点击