android学习——使用开源程序AsyncHttpClient访问网络

AsyncHttpClient

见名知意,AsyncHttpClient 对处理异步 Http 请求相当擅长,并通过匿名内部类处理回调结果,Http 异步请求均位于非 UI 线程,不会阻塞 UI 操作,通过线程池处理并发请求处理文件上传、下载、响应结果自动打包 JSON 格式。使用起来会很方便。

	//GET请求
//创建asynchttpclient
	AsyncHttpClient client = new AsyncHttpClient();

//进行get 请求 当然这里也可以换成 new JsonHttpResponseHandler(),我们就能直接获得 JSON 数据了。

 
  
	client.get("http://www.google.com", new AsyncHttpResponseHandler() {
	 
	    @Override
	    public void onStart() {
	        // called before request is started
	    }
	 //请求成功的回调方法
	    @Override
	    public void onSuccess(int statusCode, Header[] headers, byte[] response) {
	        // called when response HTTP status is "200 OK"
	    }
	 //请求失败
	    @Override
	    public void onFailure(int statusCode, Header[] headers, byte[] errorResponse, Throwable e) {
	        // called when response HTTP status is "4XX" (eg. 401, 403, 404)
	    }
	 
	    @Override
	    public void onRetry(int retryNo) {
	        // called when request is retried
	    }
	});
	//POST 请求
	AsyncHttpClient client = new AsyncHttpClient();
//准备请求体的内容
RequestParams params = new RequestParams();
 
  
	params.put("key", "value");
	params.put("more", "data");
	//进行post请求 params 请求的参数封装 同上,这里一样可以改成处理 JSON 数据的方法
	client.get("http://www.google.com", params, new
	    TextHttpResponseHandler() {
	        @Override
	        public void onSuccess(int statusCode, Header[] headers, String response) {
	            System.out.println(response);
	        }
	 
	        @Override
	        public void onFailure(int statusCode, Header[] headers, String responseBody, Throwable error) {
	            Log.d("ERROR", error);
	        }    
	    }
	);
	
	//请求失败
	@Override
	public void onFailure(int statusCode, Header[] headers,
			byte[] responseBody, Throwable error) {
		
	}
});


你可能感兴趣的:(Android)