分类: Android平台

在大神岩岩的推荐下使用了AsyncHttpClient框架,用过之后感觉还是灰常好用滴。
AsyncHttpClient是异步的,但是有时候我们需要得到请求的结果集来返回给某个函数,由于是异步的,所以不能够直接return会去,所以可以定义一个interface来给调用AsyncHttpClient方法的一个回调来获取结果集,代码如下:
定义回调接口:

点击(此处)折叠或打开

  1. private static Callback mCallback;
  2. public interface Callback{
  3. abstract void rankingsResultData(JSONArray result,int code);
  4. abstract void postResultData(int result);
  5. abstract void shareResultData(int result);
  6. }

调用异步框架代码:

点击(此处)折叠或打开

  1. public static void getRankingList(int integType,int sortType,int size) {
  2. mClient.post(GET_RANKINGList, getRankingsParms(integType,sortType,size), new JsonHttpResponseHandler(){
  3. @Override
  4. public void onSuccess(JSONObject response) {
  5. if (response != null) {
  6. try {
  7. JSONObject status = response.getJSONObject("state");
  8. int code = status.getInt("code");
  9. JSONArray list = null;
  10. if (code == 0) {
  11. list = response.getJSONArray("items");
  12. }
  13. if(mCallback != null){
  14. mCallback.rankingsResultData(list,code);
  15. }
  16. } catch (JSONException e) {
  17. e.printStackTrace();
  18. if(mCallback != null){
  19. mCallback.rankingsResultData(null,2);
  20. }
  21. }
  22. }
  23. }
  24. public void onFailure(Throwable e, JSONObject errorResponse) {
  25. if(mCallback != null){
  26. mCallback.rankingsResultData(null,-1);
  27. }
  28. }
  29. public void onFailure(Throwable error, String content) {
  30. if(mCallback != null){
  31. mCallback.rankingsResultData(null,-1);
  32. }
  33. }
  34. });
  35. }

当调用getRankingList 异步请求完成的时候会回调rankingsResultData来得到返回的数据或者能得到请求是否chengg

开源框架AsyncHttpClient使用的更多相关文章

  1. Android开源框架AsyncHttpClient (android-async-http)使用

    android-async-http 开源框架可以使我们轻松地获取网络数据或者向服务器发送数据,最关键的是,它是异步框架,在底层使用线程池处理并发请求,效率很高,使用又特别简单. 以往我们在安卓上做项 ...

  2. 异步网络加载开源框架AsyncHttpClient使用

    AsyncHttpClient是异步的,但是有时候我们需要得到请求的结果集来返回给某个函数,由于是异步的,所以不能够直接return会去,所以可以定义一个interface来给调用AsyncHttpC ...

  3. Android 通过开源框架AsyncHttpClient进行get和post请求

    使用时无需将这些代码放入子线程去执行,因为其内部已经封装到一个线程中运行了! public void asyncHttpClientGet(View view) { AsyncHttpClient c ...

  4. 找呀志_通过开源框架引AsyncHttpClient处理get/post要求

    一个.开源参考架构的方法. 方法一 找到下载的文件的源代码,Com中的src文件夹下 watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvemhhb3lhemhp ...

  5. Asynchttpclient开源框架下载图片和文本,于Volley和Glide开源框架的区别。

    AsyncHttpClient是一款比较流行的Android异步网路加载库,在github上的网址是:https://github.com/loopj/android-async-httpAsyncH ...

  6. 找呀志_通过开源框架引AsyncHttpClient上传文件

    一个.步骤: 1.加入权限(接入网络和可写) 2.获取上传文件的路径和推断是空的 3.如果为空.创建一个异步请求对象 4.创建上传文件路径 5.跑post请求(指定url路径.封装上传參数.新建Asy ...

  7. 开源框架】Android之史上最全最简单最有用的第三方开源库收集整理,有助于快速开发

    [原][开源框架]Android之史上最全最简单最有用的第三方开源库收集整理,有助于快速开发,欢迎各位... 时间 2015-01-05 10:08:18 我是程序猿,我为自己代言 原文  http: ...

  8. android开源框架android-async-http使用

    原文地址:http://www.open-open.com/lib/view/open1369637365753.html android-async-http开源框架可以是我们轻松的获取网络数据或者 ...

  9. Android(java)学习笔记213:开源框架post和get方式提交数据(qq登录案例)

    1.前面提到Http的get/post方式  . HttpClient方式,实际工作的时候不常用到,因为这些方式编写代码是很麻烦的 2.Android应用会经常使用http协议进行传输,网上会有很完善 ...

随机推荐

  1. 20162303实验三 敏捷开发与XP实践-1

    北京电子科技学院(BESTI) 实 验 报 告 课程:程序设计与数据结构 班级: 1623 姓名: 石亚鑫 学号:20162303 成绩: 2分 指导教师:娄嘉鹏 王志强 实验日期:5月12日 实验密 ...

  2. win8 wamp 安装报错

    可是安装wamp的时候(http://www.wampserver.com/en/#download-wrapper)下载的是64位的,刚开始报 错xxx.dll文件丢失,好吧我把那个xxx.dll文 ...

  3. python安装BeautifulSoup

    1.先下载pip https://pypi.python.org/pypi/pip 安装pip cd到路径 python setuo.py install 2.添加目录到环境变量中 xxx\Pytho ...

  4. [转]web.xml中webAppRootKey

    web.xml中webAppRootKey ------------------------------------------------------------------------------ ...

  5. java多线程之Concurrent包

    1.在新增的Concurrent包中,BlockingQueue很好的解决了多线程中,如何高效安全“传输”数据的问题. 2.通过这些高效并且线程安全的队列类,为我们快速搭建高质量的多线程程序带来极大的 ...

  6. Arch linux

    这里将介绍Arch Linux使用问题的解决方法,在这里拿出来和大家分享一下Linux目前较适用于小型的网络,Arch Linux 是个针对 i686i686/x86-64 优化的 Linux 发行版 ...

  7. Eureka的自我保护机制

    最近项目在Kubernetes上使用Eureka遇到一些问题,在网站上找到一篇针对Eureka自我保护机制原理的文章,觉得不错,总结如下: Eureka的自我保护特性主要用于减少在网络分区或者不稳定状 ...

  8. ylbtech-LanguageSamples-Libraries(库)

    ylbtech-Microsoft-CSharpSamples:ylbtech-LanguageSamples-Libraries(库) 1.A,示例(Sample) 返回顶部 “库”示例 本示例演示 ...

  9. [转]SSIS高级转换任务—在Package中是用临时表是需要设置RetainSameConnection属性

    本文转自:http://www.cnblogs.com/tylerdonet/archive/2011/05/20/2052306.html 在上一个导入列这个例子中我们创建一个实际的表来存储文件路径 ...

  10. Shell学习:read的选项及用法

    转摘: http://kb.cnblogs.com/a/2255702/ 1. Read的一些选项 Read可以带有-a, -d, -e, -n, -p, -r, -t, 和 -s八个选项. -a : ...