• 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;
        }
    }
  • 相关阅读:
    -_-#【H5】meta / href
    -_-#【CSS3】CSS3 gradient transition with background-position
    ♫【jQuery】detach
    -_-#setTimeout与setInterval
    -_-#【Mac】MacVim
    -_-#【jQuery】data
    ♫【Backbone】this
    -_-#【Better JS Code】严格模式
    ♫【Node】module.filename / __filename / __dirname / process.cwd() / require.main.filename
    【图片处理】ImageMagick, gm
  • 原文地址:https://www.cnblogs.com/lzjsky/p/5035214.html
Copyright © 2020-2023  润新知