分类: 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. JVM命令-java服务器故障排查

    一.top(Linux命令) 执行top命令:    (查看进程15477的详细情况,下文用到) 系统信息(前五行): 第1行:Top 任务队列信息(系统运行状态及平均负载),与uptime命令结果相 ...

  2. 浅谈分布式CAP定理

    互联网发展到现在,由于数据量大.操作并发高等问题,大部分网站项目都采用分布式的架构.而分布式系统最大的特点数据分散,在不同网络节点在某些时刻(数据未同步完,数据丢失),数据会不一致. 在2000年,E ...

  3. GDB的一些技巧

    查看栈信息 bt info stack 查看源程序 list ctrl + x + a 分屏调试,上半部分显示代码,下半部分显示调试信息. 查看内存 p  xxxptr@n  查看xxxptr 指针内 ...

  4. 推荐一篇讲arm架构gcc内联汇编的文章

    这是来自ethernut网站的一篇文章,原文链接: http://www.ethernut.de/en/documents/arm-inline-asm.html 另外,据说nut/os是个不错的开源 ...

  5. PostgreSQL配置文件--实时统计

    7 实时统计 RUNTIME STATISTICS 7.1 Query/Index Statistics Collector 下面的参数控制是否搜集特定的数据库运行统计数据 7.1.1 track_a ...

  6. 支持向量机(SVM)介绍

    一.了解支持向量机   支持向量机(support vector machings, SVM) 是一种二分类模型,其基本模型定义为特征空间上的间隔最大的线性分类器,其学习策略便是间隔最大化,最终可转化 ...

  7. 如何限制jenkins的任务在某个节点上执行

    1.首先给节点打标签,一个节点可以打多个标签,中间使用空格分开 2.其次在每个任务上标记执行的标签位置,这样这个任务就在包含这些标签的节点上执行 3.通过这个方法限制的任务,只会跑在指定节点上,即是当 ...

  8. java中jar命令打包一个文件夹下的所有文件

    (1)首先,必须保证java的所有路径都设置好,在dos提示符下输入jar -help出现C:\Documents and Settings\dly>jar -help非法选项:h用法:jar ...

  9. xml文件中配置JDBC源遇到问题 : The reference to entity "characterEncoding" must end with the ';' delimiter

    数据源配置时加上编码转换格式后出问题了: The reference to entity"characterEncoding" must end with the ';' deli ...

  10. 寻找i*j=m的个数

    问题描述 3*3的矩阵内容. 1 2 3 2 4 6 3 6 9 即a[i][j](1<=i<=n,1<=j<=n)=i*j. 问一个这样n*n的矩阵里面,里面m出现的次数. ...