android网络数据提交类HttpUtils

来源:互联网 发布:网易蜂巢注册域名 编辑:程序博客网 时间:2024/06/06 01:04

import java.io.BufferedInputStream;
import java.io.BufferedOutputStream;
import java.io.ByteArrayOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream;
import java.net.URL;
import java.util.List;

import org.apache.http.HttpResponse;
import org.apache.http.NameValuePair;
import org.apache.http.client.ClientProtocolException;
import org.apache.http.client.entity.UrlEncodedFormEntity;
import org.apache.http.client.methods.HttpGet;
import org.apache.http.client.methods.HttpPost;
import org.apache.http.impl.client.DefaultHttpClient;
import org.apache.http.protocol.HTTP;
import org.apache.http.util.EntityUtils;

import android.graphics.Bitmap;
import android.graphics.BitmapFactory;

public class HttpUtil {

 private static final int IO_BUFFER_SIZE = 10 * 1024;

 public static HttpGet getHttpGet(String url) {
  HttpGet request = new HttpGet(url);
  return request;
 }

 public static HttpPost getHttpPost(String url) {
  HttpPost request = new HttpPost(url);
  return request;
 }

 public static HttpResponse getHttpResponse(HttpGet request)
   throws ClientProtocolException, IOException {
  HttpResponse response = new DefaultHttpClient().execute(request);
  return response;
 }

 public static HttpResponse getHttpResponse(HttpPost request)
   throws ClientProtocolException, IOException {
  HttpResponse response = new DefaultHttpClient().execute(request);
  return response;
 }

 public static String queryStringForPost(String url) {
  HttpPost request = HttpUtil.getHttpPost(url);
  String result = null;
  try {
   HttpResponse response = HttpUtil.getHttpResponse(request);
   if (response.getStatusLine().getStatusCode() == 200) {
    result = EntityUtils.toString(response.getEntity());
    return result;
   }
  } catch (ClientProtocolException e) {
   e.printStackTrace();
   result = "网络异常!";
   return result;
  } catch (IOException e) {
   e.printStackTrace();
   result = "网络异常!";
   return result;
  }
  return null;
 }

 public static String queryStringForPost(String url,
   List<NameValuePair> params) {
  HttpPost request = HttpUtil.getHttpPost(url);
  String result = null;
  try {
   request.setEntity(new UrlEncodedFormEntity(params, HTTP.UTF_8));
   HttpResponse response = HttpUtil.getHttpResponse(request);
   if (response.getStatusLine().getStatusCode() == 200) {
    result = EntityUtils.toString(response.getEntity());
    return result;
   }
  } catch (ClientProtocolException e) {
   e.printStackTrace();
   result = "0";
   return null;
  } catch (IOException e) {
   e.printStackTrace();
   result = "0";
   return null;
  }
  return null;
 }

 public static String queryStringForPost(HttpPost request) {
  String result = null;
  try {
   HttpResponse response = HttpUtil.getHttpResponse(request);
   if (response.getStatusLine().getStatusCode() == 200) {
    result = EntityUtils.toString(response.getEntity());
    return result;
   }
  } catch (ClientProtocolException e) {
   e.printStackTrace();
   result = "网络异常!";
   return result;
  } catch (IOException e) {
   e.printStackTrace();
   result = "网络异常!";
   return result;
  }
  return null;
 }

 public static String queryStringForGet(String url) {
  HttpGet request = HttpUtil.getHttpGet(url);
  String result = null;
  try {
   HttpResponse response = HttpUtil.getHttpResponse(request);
   if (response.getStatusLine().getStatusCode() == 200) {
    result = EntityUtils.toString(response.getEntity());
    return result;
   }
  } catch (ClientProtocolException e) {
   e.printStackTrace();
   result = "网络异常!";
   return result;
  } catch (IOException e) {
   e.printStackTrace();
   result = "网络异常!";
   return result;
  }
  return null;
 }

 public static Bitmap GetNetBitmap(String url) {
  Bitmap bitmap = null;
  InputStream in = null;
  BufferedOutputStream out = null;
  try {
   in = new BufferedInputStream(new URL(url).openStream(),
     IO_BUFFER_SIZE);
   final ByteArrayOutputStream dataStream = new ByteArrayOutputStream();
   out = new BufferedOutputStream(dataStream, IO_BUFFER_SIZE);
   copy(in, out);
   out.flush();

   byte[] data = dataStream.toByteArray();
   bitmap = BitmapFactory.decodeByteArray(data, 0, data.length);
   data = null;
   return bitmap;
  } catch (IOException e) {

   e.printStackTrace();
   return null;
  }
 }

 private static void copy(InputStream in, OutputStream out)
   throws IOException {
  byte[] b = new byte[IO_BUFFER_SIZE];
  int read;
  while ((read = in.read(b)) != -1) {
   out.write(b, 0, read);
  }
 }

}

0 0
原创粉丝点击