Android Http异步请求类库:android-async-http

来源:互联网 发布:淘宝店铺激活的流程 编辑:程序博客网 时间:2024/05/21 11:14

这个网络请求库是基于Apache HttpClient库之上的一个异步网络请求处理库,网络处理均基于Android的非UI线程,通过回调方法处理请求结果。里面包含了client.post和client.get两种请求方式 ,如果以GET方式传输,所带参数附加在URL后直接传给服务器;如果以POST方式传输,则参数会被打包在数据包中传送给服务器。Get 方式需要使用 Request.QueryString 来取得变量的值;而 Post 方式通过 Request.Form 来访问提交的内容


其主要特性如下:
  • 处理异步Http请求,并通过匿名内部类处理回调结果
  • Http请求均位于非UI线程,不会阻塞UI操作
  • 通过线程池处理并发请求
  • 处理文件上传、下载
  • 响应结果自动打包JSON格式
  • 二进制文件下载(如图片)
  • 自动处理连接断开时请求重连
  • 持久化存储cooki,将cooki保存到你应用的SharedPreferences
  • BinaryHttpResponseHandler类可以用来获取二进制数据,如图像和其他文件
  • 简单用法:
    AsyncHttpClient client =newAsyncHttpClient();
    String url ="http://www.google.com"
    client.get(url,newAsyncHttpResponseHandler() {
        @Override
        publicvoidonSuccess(String response) {
            System.out.println(response);
        }
    });
    BinaryHttpResponseHandler类下载图像:
    AsyncHttpClientclient = new AsyncHttpClient();
    String[]allowedContentTypes = new String[]{ "image/png","image/jpeg" };client.get("http://example.com/file.png",new BinaryHttpResponseHandler(allowedContentTypes){
       @Override
       public void onSuccess(byte[]fileData){
           // Do something with the file }
    });


0 0