当前位置: 代码迷 >> Android >> android开发网络连接工具类(1)
  详细解决方案

android开发网络连接工具类(1)

热度:90   发布时间:2016-04-24 11:45:23.0
android开发网络连接工具类(一)

网络连接工具类整理:

  1 package com.gzcivil.utils;  2   3 import java.io.IOException;  4 import java.util.ArrayList;  5 import java.util.List;  6 import java.util.Map;  7   8 import org.apache.http.HttpEntity;  9 import org.apache.http.HttpResponse; 10 import org.apache.http.HttpStatus; 11 import org.apache.http.NameValuePair; 12 import org.apache.http.client.HttpClient; 13 import org.apache.http.client.entity.UrlEncodedFormEntity; 14 import org.apache.http.client.methods.HttpGet; 15 import org.apache.http.client.methods.HttpPost; 16 import org.apache.http.impl.client.DefaultHttpClient; 17 import org.apache.http.message.BasicNameValuePair; 18 import org.apache.http.params.BasicHttpParams; 19 import org.apache.http.params.HttpConnectionParams; 20 import org.apache.http.params.HttpParams; 21 import org.apache.http.util.EntityUtils; 22  23 import android.content.Context; 24  25 /** 26  * 网络连接类 27  *  28  * @author LiJinlun 29  *  30  */ 31 public class NetUtils { 32  33     /** 34      * 获取Json数据 35      *  36      * @param param 37      * @return 38      */ 39  40     public static String post(Map<String, String> paramMap, String URL, Context context) { 41  42         String result = null; 43         HttpPost httpRequest = new HttpPost(URL); 44         List<NameValuePair> params = new ArrayList<NameValuePair>(); 45  46         paramMap.put("machineCode", CommonUtil.GetMachineCode(context)); 47         paramMap.put("cid", CommonUtil.GetCid(context).toString()); 48  49         for (Map.Entry<String, String> param : paramMap.entrySet()) { 50             params.add(new BasicNameValuePair(param.getKey(), param.getValue())); 51         } 52         // 打印去包日志 53         LogUtils.d(SysUtils.LOG_TAG, "去包:" + URL + params.toString()); 54         HttpEntity httpEntity; 55         HttpClient httpClient = null; 56         try { 57             httpEntity = new UrlEncodedFormEntity(params, "UTF-8"); 58             httpRequest.setEntity(httpEntity); 59             httpClient = getHttpClient(); 60             HttpResponse httpResponse = httpClient.execute(httpRequest); 61  62             int status = httpResponse.getStatusLine().getStatusCode(); 63             if (status == HttpStatus.SC_OK) { 64                 result = EntityUtils.toString(httpResponse.getEntity()); 65                 // 打印回包日志 66                 LogUtils.d(SysUtils.LOG_TAG, "回包:" + result.toString()); 67                 return result; 68             } 69         } catch (IOException e) { 70             e.printStackTrace(); 71             return SysUtils.errorcode.ERROR_TIMEOUT + ""; 72         } finally { 73             if (httpClient != null) 74                 httpClient.getConnectionManager().shutdown(); 75         } 76         return null; 77     } 78  79     /** 80      * get获取数据 81      *  82      * @param url 83      * @return 84      */ 85     public static String get(String url) { 86         // 打印去包日志 87         LogUtils.d(SysUtils.LOG_TAG, "去包:" + url.toString()); 88         String result = null; 89         HttpGet get = new HttpGet(url); 90         HttpClient client = new DefaultHttpClient(); 91         try { 92             HttpResponse response = client.execute(get); 93             int status = response.getStatusLine().getStatusCode(); 94             if (status == HttpStatus.SC_OK) { 95                 result = EntityUtils.toString(response.getEntity(), "UTF-8"); 96                 // 打印回包日志 97                 LogUtils.d(SysUtils.LOG_TAG, "回包:" + result.toString()); 98                 return result; 99             }100         } catch (IOException e) {101             e.printStackTrace();102             return SysUtils.errorcode.ERROR_TIMEOUT + "";103         } finally {104             client.getConnectionManager().shutdown();105         }106         return null;107     }108 109     public static HttpClient getHttpClient() {110         HttpParams httpParams = new BasicHttpParams();111         HttpConnectionParams.setConnectionTimeout(httpParams, 8 * 1000);112         HttpConnectionParams.setSoTimeout(httpParams, 8 * 1000);113         // HttpClientParams.setRedirecting(httpParams, true);114         HttpClient client = new DefaultHttpClient(httpParams);115         // client.getParams().setIntParameter( HttpConnectionParams.SO_TIMEOUT,116         // 8*1000); // 超时设置117         // client.getParams().setIntParameter(118         // HttpConnectionParams.CONNECTION_TIMEOUT, 8*1000);// 连接超时119         return client;120     }121 122 }

 

  相关解决方案