安卓接口请求实例
首先一个工具类
公司主营业务:网站设计、做网站、移动网站开发等业务。帮助企业客户真正实现互联网宣传,提高企业的竞争能力。创新互联是一支青春激扬、勤奋敬业、活力青春激扬、勤奋敬业、活力澎湃、和谐高效的团队。公司秉承以“开放、自由、严谨、自律”为核心的企业文化,感谢他们对我们的高要求,感谢他们从不同领域给我们带来的挑战,让我们激情的团队有机会用头脑与智慧不断的给客户带来惊喜。创新互联推出云溪免费做网站回馈大家。
package com.luo.utils; import java.io.IOException; import java.io.InputStream; import java.io.UnsupportedEncodingException; import java.net.URLDecoder; import java.util.Iterator; import java.util.List; import java.util.Map; import java.util.Set; import org.apache.http.HttpEntity; 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.HttpClient; 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.params.HttpClientParams; import org.apache.http.impl.client.DefaultHttpClient; import org.apache.http.params.BasicHttpParams; import org.apache.http.params.HttpConnectionParams; import org.apache.http.params.HttpParams; import org.apache.http.params.HttpProtocolParams; import org.apache.http.protocol.HTTP; import org.apache.http.util.EntityUtils; import android.content.Context; import android.graphics.Bitmap; import android.graphics.BitmapFactory; import android.net.ConnectivityManager; import android.net.http.AndroidHttpClient; import android.util.Log; import android.widget.Toast; /**网络连接 * @author cnmobi-db * */ public class MyConnect { private static HttpParams httpParams; private static HttpClient httpClient; /**get方式请求 * @param url * @param params * @return */ public static String doGet(String url, Mapparams) { /* 建立HTTPGet对象 */ String paramStr = ""; Set > set = params.entrySet(); for (Iterator > it = set.iterator(); it.hasNext();) { Map.Entry entry = (Map.Entry ) it.next(); System.out.println(entry.getKey() + "--->" + entry.getValue()); paramStr += paramStr = "&" + entry.getKey() + "=" + entry.getValue(); } if (!paramStr.equals("")) { paramStr = paramStr.replaceFirst("&", "?"); url += paramStr; } Log.d("strResult", url); HttpGet httpRequest = new HttpGet(url); String strResult = "doGetError"; try { /* 发送请求并等待响应 */ HttpResponse httpResponse = httpClient.execute(httpRequest); /* 若状态码为200 ok */ if (httpResponse.getStatusLine().getStatusCode() == 200) { /* 读返回数据 */ strResult = EntityUtils.toString(httpResponse.getEntity()); } else { // strResult = "Error Response: " // + httpResponse.getStatusLine().toString(); strResult = "404"; } } catch (ClientProtocolException e) { // strResult = e.getMessage().toString(); strResult = "404"; e.printStackTrace(); } catch (IOException e) { // strResult = e.getMessage().toString(); strResult = "404"; e.printStackTrace(); } catch (Exception e) { // strResult = e.getMessage().toString(); strResult = "404"; e.printStackTrace(); } Log.d("strResult", strResult); return strResult; } /**post方式请求 * @param session * @param url * @param params * @return */ public static String doPost(String session,String url, List params) { String www = url +"?"; for(int i =0; i "+www); /* 建立HTTPPost对象 */ HttpPost httpRequest = new HttpPost(url); String strResult = "doPostError"; try { /* 添加请求参数到请求对象 */ httpRequest.setEntity(new UrlEncodedFormEntity(params, HTTP.UTF_8)); if(session != null) { httpRequest.setHeader("Cookie", session); System.out.println(session); } /* 发送请求并等待响应 */ HttpResponse httpResponse = httpClient.execute(httpRequest); /* 若状态码为200 ok */ if (httpResponse.getStatusLine().getStatusCode() == 200) { /* 读返回数据 */ strResult = EntityUtils.toString(httpResponse.getEntity(),HTTP.UTF_8); } else { strResult = "404";// "Error Response: " + // httpResponse.getStatusLine().toString(); } } catch (UnsupportedEncodingException e) { strResult = "404";// e.getMessage().toString(); e.printStackTrace(); } catch (ClientProtocolException e) { strResult = "404";// e.getMessage().toString(); e.printStackTrace(); } catch (IOException e) { strResult = "404";// e.getMessage().toString(); e.printStackTrace(); } catch (Exception e) { strResult = "404";// e.getMessage().toString(); e.printStackTrace(); } Log.d("strResult", strResult); try { strResult = URLDecoder.decode(strResult, HTTP.UTF_8); } catch (UnsupportedEncodingException e) { // TODO Auto-generated catch block e.printStackTrace(); } Log.d("strResult", strResult); return strResult; } /**配置httpclient * @return */ public static HttpClient getHttpClient() { // 创建 HttpParams 以用来设置 HTTP 参数(这一部分不是必需的) httpParams = new BasicHttpParams(); // 设置连接超时和 Socket 超时,以及 Socket 缓存大小 HttpConnectionParams.setConnectionTimeout(httpParams, 20 * 1000); HttpConnectionParams.setSoTimeout(httpParams, 20 * 1000); HttpConnectionParams.setSocketBufferSize(httpParams, 8192); // 设置重定向,缺省为 true HttpClientParams.setRedirecting(httpParams, true); // 设置 user agent String userAgent = "Mozilla/5.0 (Windows; U; Windows NT 5.1; zh-CN; rv:1.9.2) Gecko/20100115 Firefox/3.6"; HttpProtocolParams.setUserAgent(httpParams, userAgent); // 创建一个 HttpClient 实例 httpClient = new DefaultHttpClient(httpParams); return httpClient; } /**获取网络连通状态 * @param context * @return */ public static boolean NetWorkStatus(Context context) { boolean netSataus = false; ConnectivityManager cwjManager = (ConnectivityManager) context .getSystemService(Context.CONNECTIVITY_SERVICE); cwjManager.getActiveNetworkInfo(); if (cwjManager.getActiveNetworkInfo() != null) { netSataus = cwjManager.getActiveNetworkInfo().isAvailable(); } if(!netSataus) Toast.makeText(context, "网络错误!", Toast.LENGTH_SHORT).show(); return netSataus; } /**获取网络图片 * @param url * @return */ public static Bitmap loadImageFromInternet(String url) { Bitmap bitmap = null; HttpClient client = AndroidHttpClient.newInstance("Android"); HttpParams params = client.getParams(); HttpConnectionParams.setConnectionTimeout(params, 3000); HttpConnectionParams.setSocketBufferSize(params, 3000); HttpResponse response = null; InputStream inputStream = null; HttpGet httpGet = null; try { httpGet = new HttpGet(url); response = client.execute(httpGet); int stateCode = response.getStatusLine().getStatusCode(); if (stateCode != HttpStatus.SC_OK) { return bitmap; } HttpEntity entity = response.getEntity(); if (entity != null) { try { inputStream = entity.getContent(); return bitmap = BitmapFactory.decodeStream(inputStream); } finally { if (inputStream != null) { inputStream.close(); } entity.consumeContent(); } } } catch (ClientProtocolException e) { httpGet.abort(); e.printStackTrace(); } catch (IOException e) { httpGet.abort(); e.printStackTrace(); } finally { ((AndroidHttpClient) client).close(); } return bitmap; } }
然后创建一个异步任务内部类
class GethispetsAsyncTask extends AsyncTask
最后启动异步任务
new GethispetsAsyncTask(ConstantUtils.host1 + ConstantUtils.url_26, ConstantUtils.token, uid + "").execute(null, null, null);
本文名称:安卓接口请求实例
URL分享:http://scgulin.cn/article/gcchis.html