`
heyixian
  • 浏览: 12970 次
社区版块
存档分类
最新评论

andoird HTTP 工具类

阅读更多
简单的对android下apach包进行了封装。


import java.io.IOException;

import org.apache.http.HttpEntity;
import org.apache.http.HttpResponse;
import org.apache.http.HttpStatus;
import org.apache.http.client.ClientProtocolException;
import org.apache.http.client.HttpClient;
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.entity.ByteArrayEntity;
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.util.EntityUtils;

public final class HTTPUtils {
	public static byte[] postToServer(String url, byte[] content)
			throws ClientProtocolException, IOException {
		return executeRequest(url, new ByteArrayEntity(content),
				HttpPost.METHOD_NAME);
	}

	public static byte[] getFromServer(String url) throws ClientProtocolException, IOException {
		return executeRequest(url, null, HttpGet.METHOD_NAME);
	}

	private static byte[] executeRequest(String url, HttpEntity postEntity,
			String methodName) throws ClientProtocolException, IOException {
		HttpUriRequest request = null;
		HttpClient client = null;
		byte[] resultBytes = null;
		try {

			if (HttpPost.METHOD_NAME.equals(methodName)) {
				request = new HttpPost(url);
				if (postEntity != null) {
					HttpPost post = ((HttpPost) request);
					post.setEntity(postEntity);

				}
			} else if (HttpGet.METHOD_NAME.equals(methodName)) {
				request = new HttpGet(url);
			}
			client = createHttpClient();
			HttpResponse response = client.execute(request);
			int statusCode = response.getStatusLine().getStatusCode();
			if (statusCode == HttpStatus.SC_OK) {
				HttpEntity entity = response.getEntity();
				resultBytes = EntityUtils.toByteArray(entity);
			}
		} finally {
			if (request != null) {
				request.abort();
			}
		}
		return resultBytes;
	}

	private static HttpClient createHttpClient() {
		HttpParams httpParameters = new BasicHttpParams();
		int timeoutConnection = 30000;
		HttpConnectionParams.setConnectionTimeout(httpParameters,
				timeoutConnection);
		int timeoutSocket = 30000;
		HttpConnectionParams.setSoTimeout(httpParameters, timeoutSocket);
		return new DefaultHttpClient(httpParameters);
	}

}

分享到:
评论

相关推荐

    android http 工具类 get post

    android http 工具类 get post

    Android开发常用工具类合集

    本资源包括常用工具类,目前收录了数组工具类、异步工具类、base64工具类、bitmap工具类、缓存工具类、时间工具类、http连接、json、IO、Map、MD5、数据库、SD卡、UbbToHtml等工具类合集

    Android 封装的工具类

    在Android开发中,工具类(Utils Class)是程序员经常创建的一种辅助代码结构,用来封装一些通用功能,提高代码的复用性和可维护性。这里提到的"Android 封装的工具类"涵盖了几种关键的模块,包括网络请求、数据库...

    android工具类 26个实用工具类

    在Android开发中,工具类(Util Classes)是程序员们经常使用的辅助代码集合,它们封装了常见的功能,使得代码更加简洁、可读性更强。这里提到的"android工具类 26个实用工具类"是一个集合,包含了多个针对Android...

    Java-Android工具类

    Http工具类则是处理网络请求的关键。在Android应用中,网络通信是常见的需求,包括发送GET、POST请求,下载或上传文件等。这类工具类通常实现了异步处理,避免阻塞UI线程,并提供了处理网络异常的能力。例如,`...

    Android常用工具类集合

    在Android开发中,工具类(Utility Class)是程序员经常使用的辅助模块,它们包含了各种实用功能,可以帮助开发者提高代码的复用性和效率。本资源“Android常用工具类集合”是一个专门为Android平台设计的库,其中...

    Android常用工具类

    在Android开发中,工具类(Util Classes)是程序员经常使用的代码模块,它们提供了一系列静态方法,用于处理各种常见的任务,从而提高代码的可重用性和效率。以下是对"Android常用工具类"中涉及的一些关键知识点的...

    Android HttpClient工具类

    7. **EntityUtils**:一个工具类,用于处理响应实体,如读取响应内容。例如: ```java String responseBody = EntityUtils.toString(response.getEntity()); ``` 8. **HttpContext**:提供了请求执行的上下文...

    android 基本框架+常用工具类

    "Android 基本框架+常用工具类"这个主题涵盖了Android开发中的基础架构以及常用工具类的实现,这对于任何Android开发者来说都是必备的知识点。下面我们将深入探讨这些方面。 首先,Android框架是应用程序的基础,它...

    Android-android工具类大全

    在Android开发过程中,工具类(Utility Class)是开发者经常使用的代码模块,它们提供了一系列静态方法,方便我们在项目中快速调用,以实现特定功能。"AndroidUtilCode"是一个全面的Android工具类库,包含了多种实用...

    史上最全的Android的工具类

    在Android开发中,工具类(Utility Class)是程序员经常使用的一种设计模式,它封装了一些常用的功能,方便在项目中重复调用,提高了代码的可复用性和可维护性。"史上最全的Android工具类"这个资源集合很可能包含了...

    Android-RxRetrofitUtils封装工具类

    在Android开发中,提高效率和代码复用性是至关重要的,`RxRetrofitUtils`封装工具类正是为了实现这一目标而设计的。`RxRetrofit`是将`Retrofit`和`RxJava`两个强大的库结合在一起,为Android开发者提供了一种更优雅...

    android工具类

    在Android开发中,工具类(Utility Class)是程序员经常创建的一种辅助类,它们通常包含一些静态方法,用于执行特定的任务,比如处理网络请求、管理数据库操作或者与时间相关的功能。以下是对这些知识点的详细说明:...

    Android-OkHttp3.0网络工具类

    **Android-OkHttp3.0网络工具类** 在Android应用开发中,网络请求是不可或缺的一部分。OkHttp3.0是一个高效、易用的网络通信库,由Square公司开发,广泛应用于Android项目中。相较于旧版本,OkHttp3带来了许多性能...

    Android常用工具类(Utils)

    在Android应用开发中,工具类(Utils)是程序员们经常使用的辅助代码集合,它们封装了各种常见的功能,以便在不同的地方快速复用。这个名为"CommonLibrary"的压缩包文件很可能包含了开发者常用的工具类,方便在项目...

    Android Utils 工具类 好用#

    在Android开发过程中,工具类(Utils)是一种非常实用的代码模块,它封装了常见的功能,以便在多个地方重用,从而提高开发效率和代码的可维护性。"Android Utils 工具类 好用#"这个标题暗示了这是一个包含了一系列...

    Android常用的工具类

    在Android开发中,工具类是开发者经常会用到的辅助组件,它们封装了各种常见的功能,以便在项目中快速调用,提高开发效率。本篇文章将详细介绍Android常用的工具类,包括APP管理类、Dialog类、File类、Gson解析类、...

    android开发工具类

    在Android应用开发中,工具类(Utils类)是开发者经常使用的辅助代码集合,它们封装了常见的功能,使得代码更加简洁易读。以下是对给定的压缩包文件中包含的10个工具类的详细说明: 1. **CheckUtils.java**: 这个...

Global site tag (gtag.js) - Google Analytics