当前位置: 代码迷 >> 综合 >> Android网络通信请求框架—Android-async-http
  详细解决方案

Android网络通信请求框架—Android-async-http

热度:70   发布时间:2023-12-14 09:26:46.0

这次我们来介绍Android的另外一个网络请求框架Android-async-http


Android-async-http是一款国外的网络请求开源框架,可以进行高效的网络请求,适合文件的上传和下载。在这一点上就与前面介绍的Volley有所不用。Volley适合数据下且频繁的网络请求,单数据量大就不适合了。这个时候,我们就可以选择使用Android-async-http框架了。

   Android-async-http特点:1.具有清晰的网络请求回调,这个和Volley类似

                             2.是一个基于线程池的请求,限制并发资源的使用。这样就不会内存溢出

                             3.其get和post请求是基于参数传递的 

                             4.支持大数据文件上传。

                             5.自动的请求重试,当我们请求失败时,可以定义其进行再次请求。
使用流程:

       1.倒入jar包

       2.建立请求对象

     AsyncHttpClient httpClient=new AsyncHttpClient();

      3.发送get请求:

         第一个参数填入UIL  第二个参数实力请求回调对象,在这个对象中我们会重写请求成功和请求失败的方法。在这里对请求成功和请求失败分别进行处理。

        httpClient.get("url", new TextHttpResponseHandler() {@Overridepublic void onFailure(int i, Header[] headers, String s, Throwable throwable) {}@Overridepublic void onSuccess(int i, Header[] headers, String s) {}});

      4.发送Post请求

        post请求时需要先实例化参数对象,将我们需要传递的参数添加进去。

        请求对象中的一个个参数为url,第二个参数为我们所要传递的参数对象,第三个参数会请求回调对象。和get请求类似

        RequestParams params=new RequestParams();params.put("aaa","aaa");httpClient.post("url", params, new TextHttpResponseHandler() {@Overridepublic void onFailure(int i, Header[] headers, String s, Throwable throwable) {}@Overridepublic void onSuccess(int i, Header[] headers, String s) {}});


          

      Android-async-http和Volley的区别主要还是针对请求数据情况的。Android-async-http适合大数据上传和下载,而Volley更适合小数据频繁请求的情况。所以,需要根据自身应用的需求来选择使用。

  相关解决方案