每次总结都只能一小段一小段的进行总结,最开始一行一行的看代码,后来是一段一段得看,再后来一项一项的看,目前只有这个水平,不过坚持不懈后面会一个项目一个项目的看,转正题:
请求服务器上的图片要分为四步进行:
第一步:创建一个get方式的HttpRequest请求对象;
第二步:创建一个默认的http的客户端,并执行get方式的http请求;
第三步:然后获得服务器响应,并判断服务器是否正确响应;
第四步:获取服务器响应的内容(InputStream),转换为BitMap图片
/*
* Function : 发送GET请求
* Author : csdn generallizhong
*/
public static Bitmap sendGetResquest(String path) {
Bitmap bitmap = null;
HttpGet httpGet = new HttpGet(path); //创建一个GET方式的HttpRequest对象
DefaultHttpClient httpClient = new DefaultHttpClient(); //创建一个默认的HTTP客户端
try {
HttpResponse httpResponse = httpClient.execute(httpGet); //执行GET方式的HTTP请求
int reponseCode = httpResponse.getStatusLine().getStatusCode(); //获得服务器的响应码
if(reponseCode == HttpStatus.SC_OK) {
InputStream inputStream = httpResponse.getEntity().getContent(); //获得服务器的响应内容
bitmap = BitmapFactory.decodeStream(inputStream);
inputStream.close();
}
} catch (ClientProtocolException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
return bitmap;
}
最后,我们在Activity中通过一个Button按钮来向服务器发送GET请求,并调用sendGetResquest()方法将得到的Bitmap对象显示在ImageView控件中。具体的实现代码如下:
/*
* Function : 点击事件响应
*
*/
public void onClick(View view) {
switch(view.getId()) {
case R.id.button_get:
String url = "http://192.168.1.101:8080/myhttp/cat.jpg";
Bitmap bitmap = HttpUtils.sendGetResquest(url);
mImageView.setImageBitmap(bitmap);
break;
}
}
运行一下,点击“提交GET请求”按钮后,可以看到如图2所示的显示界面,在“提交GET请求”按钮的下面所显示的图片正是我们从服务器上得到的图片。
get请求就这么多了