Android Data(1)-- Android 网络请求实现

HttpRequestImp.java

public class HttpRequestImpl implements IHttpRequest {
	/**
	 * 网络加载失败的时候重复加载的次数
	 */
	private static final int 		REPEAT_NUM = 1;
 
	private IHttpRequestCallback 	mCallback ;
	private int 					mTag ;
	private static HttpClient 		customerHttpClient;
 
 
	public HttpRequestImpl(Context context){
	}
 
	@Override
	public void startRequest(String requestUrl, List<BasicNameValuePair> params, IHttpRequestCallback callback ,boolean bPost , int tag) {
	}
	
	class HttpRequestThread extends Thread{
		/**
		 * 标示请求方法默认为post方法
		 */
		private boolean 					bPost = true;
		
		/**
		 * 请求的地址
		 */
		private String 						mRequestUrl;
		private List<BasicNameValuePair> 	mParams = null;
		private HttpClient 					mHttpClient = null;
		
		HttpRequestThread(String requestUrl, List<BasicNameValuePair> params , boolean post){
		/**构造函数*/
		}
 
		@Override
		public void run() {
		/**以错误码方式网络请求*/
		}
		
		private int doRequest(){
			//以Post和Get两种方式进行网络请求						
			try {
				//获取HttpEntity的流
				//CharArrayBuffer形式读入resultJson
				//调用回调,判断响request是否完成	
			} catch (IOException e) {
				e.printStackTrace();
				return ERROR_CODE_NET_ERROR ;
			}	
			if(httpResponse != null){
				try {
					httpResponse.getEntity().consumeContent();
				} catch (IOException e) {
				}
			}
			return ERROR_CODE_NO_ERROR ;
		}
		
		/** post方式通过urlStr 获取HttpPost */
		public HttpPost getHttpPostFromUrlStr(String urlStr) throws MalformedURLException {
			httpRequest.setHeader("Accept-Encoding", "gzip");
			return httpRequest;
		}
		//Get方式通过urlStr 获取HttpGet 
		public HttpGet getHttpGetFromUrlStr(String urlStr) throws MalformedURLException {
			httpRequest.setHeader("Accept-Encoding", "gzip");
				return httpRequest;
		}
	}
	public static synchronized HttpClient getHttpClient() {
		if(null==customerHttpClient){
			/**多线程启动两个客户端*/
			/**设置我们的HttpClient支持HTTP和HTTPS两种模式*/			
			/**使用线程安全的连接管理来创建HttpClient*/
			ClientConnectionManager conMgr = new ThreadSafeClientConnManager(params, schReg);
			customerHttpClient = new DefaultHttpClient(conMgr ,params );
		}
		return customerHttpClient;
	}	
}

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值