注册 登录  
 加关注
   显示下一条  |  关闭
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!立即重新绑定新浪微博》  |  关闭

程序员驿站

淘宝店:http://shop106888457.taobao.com

 
 
 

日志

 
 

网络请求get/post工具类:NetUtil  

2014-08-28 17:27:53|  分类: Android |  标签: |举报 |字号 订阅

  下载LOFTER 我的照片书  |

package com.net.util;

import java.io.IOException;
import java.io.UnsupportedEncodingException;
import java.util.List;
import org.apache.http.HttpResponse;
import org.apache.http.HttpStatus;
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.client.methods.HttpUriRequest;
import org.apache.http.impl.client.DefaultHttpClient;
import org.apache.http.util.EntityUtils;
import org.json.JSONException;
import org.json.JSONObject;
import android.content.Context;
import android.net.ConnectivityManager;
import android.net.NetworkInfo;
import android.util.Log;
import android.widget.Toast;

public class NetUtil {
 private static final String TAG = "NetUtil";

 /**
  * 网络连接是否可用
  */
 public static boolean isConnnected(Context context) {
  ConnectivityManager connectivityManager = (ConnectivityManager) context.getSystemService(Context.CONNECTIVITY_SERVICE);
  if (null != connectivityManager) {
   NetworkInfo networkInfo[] = connectivityManager.getAllNetworkInfo();

   if (null != networkInfo) {
    for (NetworkInfo info : networkInfo) {
     if (info.getState() == NetworkInfo.State.CONNECTED) {
      Log.e(TAG, "the net is ok");
      return true;
     }
    }
   }
  }
  Toast.makeText(context, "网络连接失败", Toast.LENGTH_SHORT).show();
  return false;
 }

 /**
  * 网络可用状态下,通过get方式向server端发送请求,并返回响应数据
  *
  * @param strUrl 请求网址
  * @param context 上下文
  * @return 响应数据
  */
 public static JSONObject getResponseForGet(String strUrl, Context context) {
  if (isConnnected(context)) {
   return getResponseForGet(strUrl);
  }
  return null;
 }

 /**
  * 通过Get方式处理请求,并返回相应数据
  *
  * @param strUrl 请求网址
  * @return 响应的JSON数据
  */
 public static JSONObject getResponseForGet(String strUrl) {
  HttpGet httpRequest = new HttpGet(strUrl);
  return getRespose(httpRequest);
 }

 /**
  * 网络可用状态下,通过post方式向server端发送请求,并返回响应数据
  *
  * @param market_uri 请求网址
  * @param nameValuePairs 参数信息
  * @param context 上下文
  * @return 响应数据
  */
 public static JSONObject getResponseForPost(String market_uri, List<NameValuePair> nameValuePairs, Context context) {
  if (isConnnected(context)) {
   return getResponseForPost(market_uri, nameValuePairs);
  }
  return null;
 }

 /**
  * 通过post方式向服务器发送请求,并返回响应数据
  *
  * @param strUrl 请求网址
  * @param nameValuePairs 参数信息
  * @return 响应数据
  */
 public static JSONObject getResponseForPost(String market_uri, List<NameValuePair> nameValuePairs) {
  if (null == market_uri || "" == market_uri) {
   return null;
  }
  HttpPost request = new HttpPost(market_uri);
  try {
   request.setEntity(new UrlEncodedFormEntity(nameValuePairs));
   return getRespose(request);
  } catch (UnsupportedEncodingException e1) {
   e1.printStackTrace();
  }
  return null;
 }

 /**
  * 响应客户端请求
  *
  * @param request 客户端请求get/post
  * @return 响应数据
  */
 public static JSONObject getRespose(HttpUriRequest request) {
  try {
   HttpResponse httpResponse = new DefaultHttpClient().execute(request);
   int statusCode = httpResponse.getStatusLine().getStatusCode();
   if (HttpStatus.SC_OK == statusCode) {
    String result = EntityUtils.toString(httpResponse.getEntity());
    Log.i(TAG, "results=" + result);
    return new JSONObject(result);
   }
  } catch (ClientProtocolException e) {
   e.printStackTrace();
  } catch (IOException e) {
   e.printStackTrace();
  } catch (JSONException e) {
   e.printStackTrace();
  }
  return null;
 }
}

  评论这张
 
阅读(376)| 评论(0)
推荐 转载

历史上的今天

在LOFTER的更多文章

评论

<#--最新日志,群博日志--> <#--推荐日志--> <#--引用记录--> <#--博主推荐--> <#--随机阅读--> <#--首页推荐--> <#--历史上的今天--> <#--被推荐日志--> <#--上一篇,下一篇--> <#-- 热度 --> <#-- 网易新闻广告 --> <#--右边模块结构--> <#--评论模块结构--> <#--引用模块结构--> <#--博主发起的投票-->
 
 
 
 
 
 
 
 
 
 
 
 
 
 

页脚

网易公司版权所有 ©1997-2017