在使用之前,要确认通信环境已经配好了,HttpClient所需要的包也已经导入了,具体的可以见我前一篇博客
在使用HttpClient的时候,可以使用的方法包括 Get方法、Post方法、Put方法、Delete方法等,这些都是HttpClient.jar给我做好了的,我们使用的时候只需要调用就可以了。
首先,从Get方法的使用开始讲起。
Get方法,顾名思义,是从网络获取数据,在使用上面是最简单的一个方法。下面看一个简单的Get方法的例子:
// get方法 public static String getDataFromServerGet(String path) { String result = "fail"; try { String url = path; // Get的URL HttpGet httpget = new HttpGet(url);
//httpget.addHeader("Accept", "application/json"); DefaultHttpClient client = new DefaultHttpClient(); // 发送Post,并返回一个HttpResponse对象 HttpResponse response = client.execute(httpget); // 如果状态码为200,就是正常返回 if (response.getStatusLine().getStatusCode() == 200) { Log.i(TAG, "正常返回数据"); // 得到返回的字符串 result = EntityUtils.toString(response.getEntity()); } } catch (IOException e) { Log.i(TAG, "this is IOException"); } catch (ParseException e) { Log.i(TAG, "this is ParseException"); } catch (Exception e) { Log.i(TAG, "this is Exception"); } return result; }
上述代码可以直接加在程序里,供调用。
调用可以采用如下的方式:
new Thread() { @Override public void run() { //地址,可以换成www.baidu.com 之类的,就不做广告了 String url = "http://my.csdn.net/leilba";
String result = getDataFromServerGet(url);
//下面的是打印出来,有时候打印会报错(可能是太长了或者里面有非法字符?),要注意一下,如果Log出错的话,可以用EditText控件输出查看结果。 Log.i("obo","result:"+result); } }.start();
要注意的是,这个设置是用于接收纯文本数据的,也就是说,如果是要接收图片或者是文件的话,这样是不够的。