Android的接口回调在网络请求中的应用示例
来源:互联网 发布:999是什么意思网络语言 编辑:程序博客网 时间:2024/06/15 03:16
来自郭霖《第一行代码》
转自:http://blog.csdn.net/u013278099/article/details/51249594
在Android中到处可见接口回调机制,尤其是UI事件处理方面。然后一般刷新ui的处理:广播,接口回调,handle或者使用eventbus或是otto,总的来说也就是个监听模式的使用吧。
回调函数解释
回调函数就是一个通过函数指针调用的函数。如果你把函数的指针(地址)作为参数传递给另一个函数,当这个指针被用为调用它所指向的函数时,我们就说这是回调函数。回调函数不是由该函数的实现方直接调用,而是在特定的事件或条件发生时由另外的一方调用的,用于对该事件或条件进行响应。
形象比喻:
下面举个通俗的例子:
比如宿舍的某个同学设置了一个闹铃,闹铃响时全宿舍的人都能听到,但是张三比较勤奋,听到铃声后起床了,李四比较懒,听到铃声后还要睡会。我们可以把闹铃发出的铃声看作是接口,张三和李四都实现了这个“接口”,闹铃到一定时间后就要“响铃”,响铃就要发出“铃声”,“铃声”就去叫人,至于人会做什么就是人本身的事情。
使用注意
在使用接口回调的时候发现了一个经常犯的错误,就是回调函数里面的实现有可能是用多线程或者是异步任务去做的,这就会导致我们期望函数回调完毕去返回一个主函数的结果,实际发现是行不通的,因为如果回调是多线程的话你是无法和主函数同步的,也就是返回的数据是错误的,这是非常隐秘的一个错误。
回调的好处:
降低代码的耦合性,使代码更灵活、简洁
步骤一 :定义回调接口
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
步骤二:定义回调函数(将接口作为参数)
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
- 23
- 24
- 25
- 26
- 27
- 28
- 29
- 30
- 31
- 32
- 33
- 34
- 35
- 36
- 37
- 38
- 39
- 40
- 41
- 42
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
- 23
- 24
- 25
- 26
- 27
- 28
- 29
- 30
- 31
- 32
- 33
- 34
- 35
- 36
- 37
- 38
- 39
- 40
- 41
- 42
步骤三:使用回调方法一
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
步骤三:使用回调方法二
0 0
- Android的接口回调在网络请求中的应用示例
- Android网络请求中的回调
- 关于android网络请求封装接口回调
- AES加解密在php接口请求过程中的应用
- Android中的volley_4_执行网络请求的接口Network及其实现类BasicNetwork
- Android中的网络请求:
- HttpClient在Android网络通信中的应用
- afnetworking网络请求,ios中的网络请求示例代码
- angular.forEach在调接口中的应用
- fildReader接口的示例应用
- Android回调接口的应用
- Android网络请求中的安全问题
- android中的网络请求框架
- Android中的网络请求 Volley
- Java到Android小项目(自定义Dialog)来理解接口回调在项目中的应用
- Android 网络请求,应用的下载与安装
- Android应用开发网络请求 HttpClient和HttpURLConnection的区别
- android 三种网络通信接口及各个接口的代码示例
- ARM编译遇到"thumb conditional instruction should be in IT block"问题
- iOS开发 - 兼容iOS 10 资料整理笔记
- Android 内存泄漏和OOM分析(一)
- 在github上写自己的博客
- 语句方式创建约束
- Android的接口回调在网络请求中的应用示例
- ROS入门_1.9 理解ROS话题
- 互联网金融架构发展史
- RecyclerView轻松实现悬浮头部分组列表
- learn the command line 命令行随记
- 分页SQL创建索引规则
- 设计模式:从mvc到mvp
- Android四大组件之broadcastreceiver(广播)
- 【LeetCode】3. Longest Substring Without Repeating Characters