android开发网络连接工具类(一)
网络连接工具类整理:
package com.gzcivil.utils; import java.io.IOException;
import java.util.ArrayList;
import java.util.List;
import java.util.Map; 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.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.impl.client.DefaultHttpClient;
import org.apache.http.message.BasicNameValuePair;
import org.apache.http.params.BasicHttpParams;
import org.apache.http.params.HttpConnectionParams;
import org.apache.http.params.HttpParams;
import org.apache.http.util.EntityUtils; import android.content.Context; /**
* 网络连接类
*
* @author LiJinlun
*
*/
public class NetUtils { /**
* 获取Json数据
*
* @param param
* @return
*/ public static String post(Map<String, String> paramMap, String URL, Context context) { String result = null;
HttpPost httpRequest = new HttpPost(URL);
List<NameValuePair> params = new ArrayList<NameValuePair>(); paramMap.put("machineCode", CommonUtil.GetMachineCode(context));
paramMap.put("cid", CommonUtil.GetCid(context).toString()); for (Map.Entry<String, String> param : paramMap.entrySet()) {
params.add(new BasicNameValuePair(param.getKey(), param.getValue()));
}
// 打印去包日志
LogUtils.d(SysUtils.LOG_TAG, "去包:" + URL + params.toString());
HttpEntity httpEntity;
HttpClient httpClient = null;
try {
httpEntity = new UrlEncodedFormEntity(params, "UTF-8");
httpRequest.setEntity(httpEntity);
httpClient = getHttpClient();
HttpResponse httpResponse = httpClient.execute(httpRequest); int status = httpResponse.getStatusLine().getStatusCode();
if (status == HttpStatus.SC_OK) {
result = EntityUtils.toString(httpResponse.getEntity());
// 打印回包日志
LogUtils.d(SysUtils.LOG_TAG, "回包:" + result.toString());
return result;
}
} catch (IOException e) {
e.printStackTrace();
return SysUtils.errorcode.ERROR_TIMEOUT + "";
} finally {
if (httpClient != null)
httpClient.getConnectionManager().shutdown();
}
return null;
} /**
* get获取数据
*
* @param url
* @return
*/
public static String get(String url) {
// 打印去包日志
LogUtils.d(SysUtils.LOG_TAG, "去包:" + url.toString());
String result = null;
HttpGet get = new HttpGet(url);
HttpClient client = new DefaultHttpClient();
try {
HttpResponse response = client.execute(get);
int status = response.getStatusLine().getStatusCode();
if (status == HttpStatus.SC_OK) {
result = EntityUtils.toString(response.getEntity(), "UTF-8");
// 打印回包日志
LogUtils.d(SysUtils.LOG_TAG, "回包:" + result.toString());
return result;
}
} catch (IOException e) {
e.printStackTrace();
return SysUtils.errorcode.ERROR_TIMEOUT + "";
} finally {
client.getConnectionManager().shutdown();
}
return null;
} public static HttpClient getHttpClient() {
HttpParams httpParams = new BasicHttpParams();
HttpConnectionParams.setConnectionTimeout(httpParams, 8 * 1000);
HttpConnectionParams.setSoTimeout(httpParams, 8 * 1000);
// HttpClientParams.setRedirecting(httpParams, true);
HttpClient client = new DefaultHttpClient(httpParams);
// client.getParams().setIntParameter( HttpConnectionParams.SO_TIMEOUT,
// 8*1000); // 超时设置
// client.getParams().setIntParameter(
// HttpConnectionParams.CONNECTION_TIMEOUT, 8*1000);// 连接超时
return client;
} }
android开发网络连接工具类(一)的更多相关文章
- Android开发常用工具类
来源于http://www.open-open.com/lib/view/open1416535785398.html 主要介绍总结的Android开发中常用的工具类,大部分同样适用于Java. 目前 ...
- 最全Android开发常用工具类
主要介绍总结的Android开发中常用的工具类,大部分同样适用于Java. 目前包括 HttpUtils.DownloadManagerPro.Safe.ijiami.ShellUtils.Pack ...
- Android开发中JavaBean类和序列化知识的理解
原创文章,转载请注明出处:http://www.cnblogs.com/baipengzhan/p/6296121.html Android开发中,我们经常用到JavaBean类以及序列化的知识,但经 ...
- Android开发 静态static类与static方法持有Context是否导致内存泄露的疑问
简述 在Android开发的过程中,难免会使用单例模式或者静态方法工具类.我们会让它们持有一些外部的Context或者View一般有以下几种情况: 单例模式,类的全局变量持有Context 或 Vie ...
- 29个android开发常用的类、方法及接口
在安卓开发中,我们常常都需要借助各种各样的方法.类和接口来实现相关功能.提升开发效率,但对于初学者而言,什么时候该用什么类.方法和接口呢?下面小编整理了29个,日常开发中比较常用的类.方法.接口及其应 ...
- android网络连接工具类
该类的目的主要是判断设备的联网状态 检测设备是否连接了网络 package com.wotlab.home.moneyplantairs.utils; import android.content. ...
- 网络请求以及网络请求下载图片的工具类 android开发java工具类
package cc.jiusan.www.utils; import org.apache.http.HttpEntity; import org.apache.http.HttpResponse; ...
- android 开发 常用工具类
转载请标明出处:http://blog.csdn.net/lmj623565791/article/details/38965311,本文出自[张鸿洋的博客] 打开大家手上的项目,基本都会有一大批的辅 ...
- android开发Tost工具类管理(一)
Tost工具类管理: package com.gzcivil.utils; import android.content.Context; import android.widget.Toast; / ...
随机推荐
- wpf实现IE菜单栏自动隐藏效果
IE菜单栏默认为隐藏状态,按下键盘Alt键后显示,菜单失去焦点则自动隐藏.下面说说WPF中如何实现这样的效果. 第一步:Menu默认设置为隐藏(Visibility="Collapsed&q ...
- 几种基于javaI/O的文件拷贝操作比较
最近公司的项目用到文件拷贝,由于涉及到的大量大文件的拷贝工作,代码性能问题显得尤为重要,所以写了以下例子对几种文件拷贝操作做一比较: 0.文件拷贝测试方法 public static void fil ...
- android 硬件解码学习
FileInputStream in = new FileInputStream("/sdcard/sample.ts"); String mimeType = "vid ...
- Oozie — What Why and How
Oozie是什么? Oozie最初是Yahoo!为Hadoop开发的一个工作流调度器,一个工作流有多个Job组成.它允许用户提交由多个Job组成的工作流配置文件,这些Job既可以顺序执行,也可以并行执 ...
- Sqlserver系列(三) 小技巧
(1)取别名 as 省略 as XX= select 'a' as name select 'a' name select name='a' 示例
- python基础之 optparse.OptionParser
optparse是专门用来在命令行添加选项的一个模块. 首先来看一段示例代码 from optparse import OptionParser MSG_USAGE = "myprog[ - ...
- Binary Tree Level Order Traversal,Binary Tree Level Order Traversal II
Binary Tree Level Order Traversal Total Accepted: 79463 Total Submissions: 259292 Difficulty: Easy G ...
- android ellipsize 属性详解
TextView中内容过长时添加省略号的属性,即ellipsize 用法如下: 在XML文件中设置: android:ellipsize = "end" //省略号在结尾 andr ...
- Dubbo使用详解及环境搭建
一:Dubbo简介 Dubbo是阿里巴巴提供的开源的SOA(面向服务的体系结构)服务化治理的技术框架,据说只是一部分开源的,但一些基本的需求已经可以满足的,而且可扩展性.是一种能取代PHRPC的服务调 ...
- Linux学习之fsck命令
在windows下,磁盘的文件系统出错,需要运行chkdsk命令进行修复.而在linux下,则需要运行fsck命令.由于linux对于文件系统的错误非常敏感,由于意外断电或者其它原因导致linux系统 ...