介绍github上的异步http框架android-async-http loopj开发

获取AsyncHttpClient对象,通过new

调用AsyncHttpClient对象的get(url,responseHandler)方法,发送get请求,参数:url是String类型的路径,responseHandler是AsyncHttpResponseHandler对象

想要获取返回的数据,需要重新AsyncHttpResponseHandler类的onSuccess()方法,直接使用匿名内部类的方式重写,方法是个回调函数,参数就是返回的内容String类型

重写onFailure()方法,请求失败的时候调用。

自己实现一个精简版的异步http框架

我们的http请求经历这样两个阶段:

1.开启子线程,在子线程执行一个http请求

2.子线程执行完毕之后,通知ui界面更新

创建一个类叫AsyncHttpClient,定义一个方法叫get(String path),

在这个方法里面开启子线程,直接new Thread重写run方法,

在run方法里面,获取HttpClient对象,获取HttpGet对象,调用HttpClient对象的execute()方法,这个时候需要使用Handler对象传递信息给主线程

在get()方法里面加个参数MyHandler对象,这个对象继承自Handler

创建一个类叫MyHandler继承Handler,定义两个回调方法onSuccess和onFailure

重写handleMessage()方法,在这个方法里面对Message对象的what属性进行判断,如果成功调用onSuccess()方法,如果失败调用onFailure()方法

在AsyncHttpClient类里发送成功的时候,调用MyHandler对象的sendMessage()方法,参数是Message对象,赋值Message对象的what属性和obj属性

然后在主线程里面进行调用,使用方法和前面一样,这就是模板方法的一种设计理念,成功执行一个方法,失败执行一个方法

[android] 异步http框架与实现原理相关推荐

  1. Android异步消息处理机制 全解析

    Android异步消息处理机制主要是指Handler的运行机制以及Hanlder所附带的MessageQueue和Looper的工作过程. 本文将通过分析源码(api-28)的形式,全面解析Handl ...

  2. android 学习随笔十二(网络:使用异步HttpClient框架)

    使用异步HttpClient框架发送get.post请求 在https://github.com/  搜索 asyn-http https://github.com/search?utf8=✓& ...

  3. Android 从零开始打造异步处理框架

    转载请标明出处:http://blog.csdn.net/zhaoyanjun6/article/details/52847872 本文出自[赵彦军的博客] 概述 封装尝试 Handler优化 线程优 ...

  4. linux异步实现原理,Android异步处理四:AsyncTask的实现原理

    分析: 在分析实现流程之前,我们先了解一下AsyncTask有哪些成员变量. privatestaticfinalintCORE_POOL_SIZE =5;//5个核心工作线程 privatestat ...

  5. Android异步消息处理机制

    Android异步消息常用汇总 android常用异步框架分为handler.AsyncTask.handlerThread.IntentService. 什么是handler android消息机制 ...

  6. 2018年android常用的框架介绍

    转载地址:http://blog.csdn.net/RuingMan/article/details/73546718 http://www.cnblogs.com/jincheng-yangchao ...

  7. Android 通用流行框架梳理

    1. 缓存 DiskLruCache    Java实现基于LRU的磁盘缓存, 在 防止多图OOM的时候用得上. 2.图片加载 Android Universal Image Loader  一个强大 ...

  8. 各种Android UI开源框架 开源库

    各种Android UI开源框架 开源库 转 https://blog.csdn.net/zhangdi_gdk2016/article/details/84643668 自己总结的Android开源 ...

  9. Android 开源UI框架汇总

    1. github排名 https://github.com/trending,github搜索:https://github.com/search 2.https://github.com/wasa ...

最新文章

  1. ZZCustomAlertView - 一个高度自定义的iOS模态弹窗
  2. Linux基础命令---su
  3. Python每日一练0018
  4. Linux——进程间关系和守护进程(总结)
  5. [WorldWind学习]12.WavingFlags和WavingFlagLayer
  6. 为什么torch.nn.Linear的表达形式为y=xA^T+b而不是常见的y=Ax+b?
  7. ASP.NET Web 服务、企业服务和 .NET Remoting 的性能
  8. set和multiset集合容器
  9. 谷歌浏览器78如何安装拓展程序
  10. C++中new和malloc
  11. React Elements vs React Components
  12. 计算机一级要注意什么保存,计算机一级考试重点及注意事项
  13. 如何在腾讯云服务器部署web项目
  14. python抖音培训真的假的
  15. Excel 用函数自定义验证数据的有效性
  16. 第9章 保护Web应用----概念梳理
  17. OneNET麒麟座应用开发之十:空气质量数据监测站项目总结
  18. 向量代数,直线,平面
  19. QGIS基于多期哨兵2影像遥感指数阈值法提取冬小麦分布(3)-NDVI阈值
  20. Gitlab访问突然出现 403 forbidden解决方案

热门文章

  1. 打印表单_超市生鲜常用表单,打印出来直接用!(可收藏)
  2. 招银网络笔试java_2020招银网络科技校园招聘常见问题
  3. AI在茫茫人海中,看到只有你被Deepfake了丨阿里安全出品
  4. 阿里洛神云网络这局妥了!集齐“软硬结合、创新NFV、智能管理”三张牌
  5. 高通加大5G应用力度:发布又一款手机芯片,还推出机器人和无人机5G系统
  6. 中国军团称霸KDD:华人博士斩获最佳论文,清华北大中科大华为等榜上有名
  7. XLNet团队:赢BERT靠的并不是数据集更大,公平对决也碾压对手
  8. RocketMQ 4.5.1 双主双从异步复制环境搭建
  9. Django重新整理
  10. leetcode 刷题之路 64 Construct Binary Tree from Inorder and Postorder Traversal