Android 网络请求get/post工具类:NetUtil
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; }}Android 网络请求get/post工具类:NetUtil的更多相关文章
- Android网络请求框架
本篇主要介绍一下Android中经常用到的网络请求框架: 客户端网络请求,就是客户端发起网络请求,经过网络框架的特殊处理,让后将请求发送的服务器,服务器根据 请求的参数,返回客户端需要的数据,经过网络 ...
- Android 网络请求框架Retrofit
Retrofit是Square公司开发的一款针对Android网络请求的框架,Retrofit2底层基于OkHttp实现的,OkHttp现在已经得到Google官方认可,大量的app都采用OkHttp ...
- Android网络请求框架AsyncHttpClient实例详解(配合JSON解析调用接口)
最近做项目要求使用到网络,想来想去选择了AsyncHttpClient框架开进行APP开发.在这里把我工作期间遇到的问题以及对AsyncHttpClient的使用经验做出相应总结,希望能对您的学习有所 ...
- Http请求通信(工具类)
Http请求通信(工具类) 异步消息处理流程是: 首先需要在主线程当中创建一个Handle对象,并重写handlerMessage()方法. 然后当子线程中需要进行UI操作时,就创建一个Message ...
- xamarin android网络请求总结
xamarin android中网络请求的框架非常多,在项目中使用的是第三方的一个网络请求框架restsharp,应该是github上.net网络请求最多star的框架,没有之一.这里就简单汇总了其他 ...
- Android 网络请求及数据处理
Android 网络请求: 1.Volley http://blog.csdn.net/t12x3456/article/details/9221611 2.Android-Async-Http ...
- Android 网络请求Retrofit + RxJava
一.背景 经常看到项目用Retrofit+RxJava+RxAndroid的框架,为了看懂项目的结构.现在来了解一下,Retrofit: Retrofit是Square 公司开发的一款正对Androi ...
- Android开发之常用必备工具类图片bitmap转成字符串string与String字符串转换为bitmap图片格式
作者:程序员小冰,CSDN博客:http://blog.csdn.net/qq_21376985 QQ986945193 博客园主页:http://www.cnblogs.com/mcxiaobing ...
- Android开发之java代码工具类。判断当前网络是否连接并请求下载图片
package cc.jiusan.www.utils; import org.apache.http.HttpEntity; import org.apache.http.HttpResponse; ...
随机推荐
- Ubuntu 12.04安装VMware Workstation8.0.3
2012-06-18 12:52 Ubuntu安装VMware Workstation8.0.3 由于使用Ubuntu的人比较少,网上关于Ubuntu的资料也很少,笔者在安装VMware Wo ...
- Xcode 8 的 Debug 新特性 —- WWDC 2016 Session 410 & 412 学习笔记
Contents OverView Static Analyzer Localizability Instance Cleanup Nullablility Runtime Issue View De ...
- Ubuntu Linux 环境变量PATH设置
前俩天编译linux下rar解压软件的时候说找不到 /usr/local/linux 路径,在设定path变量的时候,忽然就想看看,path最原始的变量值是多少....(在环境变量文件中保存.... ...
- Windbg(2)
摘抄于:http://www.cnblogs.com/awpatp/category/228209.html Debug相关的一些小技巧 摘要: 1. 如何Debug一个进程的子进程? 答: 使用Wi ...
- 【MySQL】乐观锁和悲观锁
最近学习了一下数据库的悲观锁和乐观锁,根据自己的理解和网上参考资料总结如下: 悲观锁介绍(百科): 悲观锁,正如其名,它指的是对数据被外界(包括本系统当前的其他事务,以及来自外部系统的事务处理)修改持 ...
- 【Struts2】自定义拦截器interceptors
下面给一张图片表示Struts2拦截器的处理流程. 通过这个流程图,我们可以看出一个完整的请求大概的过程为: 请求 -->filter 控制器 --> 拦截器 1/ 拦截器 2--> ...
- 【Algorithm】希尔排序
一. 算法描述 希尔排序:将无序数组分割为若干个子序列,子序列不是逐段分割的,而是相隔特定的增量的子序列,对各个子序列进行插入排序:然后再选择一个更小的增量,再将数组分割为多个子序列进行排序..... ...
- objgraph无法生成分析图的原因
x = [1, 2, 3]y = [x, dict(key1=x)]z = [y, (x, y)] import objgraphobjgraph.show_refs([y],filename='sa ...
- linux卸载自带jdk
centos 6.5系统 java -version: rpm -qa | grep jdk rpm -qa | grep gcj: 使用: yum -y remove java-1.5.0-gcj- ...
- ASP.NET 的ClientIDMode属性
在ASP.NET 4.0之前我们总是要为控件的ClientID头疼,比如明明一个叫lblName的Label放在一个叫做grd的GridView里面后,在页面上改Label的ID就变成了诸如grd_c ...