[android] 异步http框架与实现原理详解手机开发
获取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属性
然后在主线程里面进行调用,使用方法和前面一样,这就是模板方法的一种设计理念,成功执行一个方法,失败执行一个方法
5476.html
app程序应用开发手机开发无线开发移动端开发相关文章
- android scaleanimation动画,【Android动画九章】-RotateAnimation(旋转动画)和ScaleAnimation(尺寸动画)…[通俗易懂]
- android app 退出功能,Android 完美退出 App (Exit)
- android vlc 中文字幕,解决Android版vlc中文乱码问题
- Android进程与线程
- Android resource linking failed_android sdk location should not
- Android —facebook/litho框架 超实用的入门干货
- Android 听筒扬声器切换 并且监听音量变化
- 搭建IOS和Android性能监控工具
- 【Android 插件化】Hook 插件化框架 ( Hook 实现思路 | Hook 按钮点击事件 )
- 【Android 逆向】使用 Python 解析 ELF 文件 ( Capstone 反汇编 ELF 文件中的机器码数据 | 完整代码示例 ) ★★★
- 【Android Gradle 插件】自定义 Gradle 任务 ⑦ ( 控制 Gradle 执行任务顺序 | Task#dependsOn 函数 | Task#mustRunAfter 函数 )
- 【Android Gradle 插件】Gradle 自定义 Plugin 插件 ① ( buildSrc 目录中实现 Gradle 插件 | 创建 src/main/groovy 源码目录并编译 )
- 【Android 逆向】ART 函数抽取加壳 ③ ( 禁用 dex2oat 操作 HOOK 点介绍 | 集成 InLineHook )
- 从头开始,手写android应用框架(一)
- 基于Android官方Paging Library的RecyclerView分页加载框架详解手机开发
- Android Volley网络通信框架的使用(一):Volley的简单用法详解手机开发
- [android] smartimageview&常见的开源代码详解手机开发
- Android组件化框架项目详解手机开发
- android MVP框架详解手机开发
- Android Studio更新失败详解编程语言
- Android 4.4 开发代号确定:KitKat
- Android系统自带样式(android:theme)
- Android界面刷新的方法分享
- Android解析服务器端发来的xml数据示例
- android图片转换器示例
- Android字体设置及Roboto字体使用方法