android 回调函数一:基本概念
1、概念
客户程序C调用服务程序S中的某个函数A,然后S又在某个时候反过来调用C中的某个函数B,对于C来说,这个B便叫做回调函数。
一般说来,C不会自己调用B,C提供B的目的就是让S来调用它,而且是C不得不提供。
由于S并不知道C提供的B姓甚名谁,所以S会约定B的接口规范(函数原型),然后由C提前通过S的一个函数R告诉S自己将要使用B函数,这个过程称为回调函数的注册,R称为注册函数。
2、举个栗子
某天,我打电话向你请教问题,当然是个难题,^_^,你一时想不出解决方法,我又不能拿着电话在那里傻等,于是我们约定:等你想出办法后打手机通知我,这样,我就挂掉电话办其它事情去了。过了XX分钟,我的手机响了,你兴高采烈的说问题已经搞定,应该如此这般处理。故事到此结束。这个例子说明了“异步+回调”的编程模式。其中,你后来打手机告诉我结果便是一个“回调”过程;我的手机号码必须在以前告诉你,这便是注册回调函数;我的手机号码应该有效并且手机能够接收到你的呼叫,这是回调函数必须符合接口规范。
3、举个Android 实例
a.定义接口
public interface OnClickListener {
public void OnClick(Button b);
}
b. 定义Button
public class Button {
OnClickListener listener;
public void click() {
listener.OnClick(this);
}
public void setOnClickListener(OnClickListener listener) {
this.listener = listener;
}
}
c. 将接口对象OnClickListener 赋给 Button 的接口成员
public class Activity {
Button button = new Button();
button.setOnClickListener(new OnClickListener(){
@Override
public void OnClick(Button b) {
System.out.println("clicked");
}
});
button.click(); //user click,System call button.click();
}
}
4、应用实例
android 回调函数二:应用实例
android 回调函数一:基本概念相关推荐
- android 回调函数二:应用实例
前言:如果对android回调的概念不明白的请看:android 回调函数一:基本概念 1.定义接口 package com.app.util;public interface ZYJCallBack ...
- Android回调函数理解
Android回调函数理解,比如我用一个activity去做显示下载进度的一个进度条,但是下载是另外一个B类来做的,这个时候我Activity获取下载的进度就可以提供一个回调接口,然后让下载类来回调就 ...
- android回调函数
版权声明:您好,转载请留下本人博客的地址,谢谢 https://blog.csdn.net/hongbochen1223/article/details/46837287 在我们进行android开发 ...
- Android回调函数机制那点事
引言 在Android的学习过程中经常会听到或者见到"回调"这个词,那么什么是回调呢?所谓的回调函数就是:在A类中定义了一个方法,这个方法中用到了一个接口和该接口中的抽象方法,但是 ...
- android final函数,Android 回调函数 解析问题
大家先看看我的代码,Okhttp访问接口返回json 然后 解析回调的例子 public static void get(String url, final CallBack callback) { ...
- Android和Java中的回调函数
在 Android 的学习过程中遇到了回调函数,经过一段时间的理解,将自己的收获整理如下,希望对迫切希望了解这方面知识的同学有所启发. 回调函数的理解如下: 在A类中定义了一个方法,这个方法中用到了一 ...
- 【 C 】回调函数简记
最近心特别浮躁,还没到晚上十点,就安定不下来了,但是这篇博文还必须记完! 上篇博文:函数指针,对这篇博文的理解也比较重要. <c 与 指针>对于回调函数讲的也比较细致了,耐心看完,也会收获 ...
- C语言、嵌入式重点知识:回调函数
前言 上文分享了一个专用的双链表的基本操作示例:双链表的操作示例(附代码) 这里提到了一个关键词:专用.与专用对应的词是通用. 我们从字面上可以很容易理解这两个词,专用就是针对特定情况的,特点就是很有 ...
- Python之进程+线程+协程(进程间通信、进程同步、进程池、回调函数)
文章目录 进程间通信 进程同步 进程池 回调函数 本篇文章依然是进程.线程方面的内容,主要讲进程间的通信.进程队列.进程同步.进程池.进程同步和回调函数 进程间通信 进程就是两个独立的内存空间在运行, ...
最新文章
- Nucleus 实时操作系统中断(上)
- jquery扩张函数
- html 图片 保持长宽比,实现图片在页面中宽高一直保持16:9比例的方法
- Java 8的方法参考进一步限制了重载
- nova8pro能升级鸿蒙吗,华为将有48款产品可以升级到鸿蒙 2.0系统
- linux下enum类型占几个字节,enum大小问题
- python 解三阶多项式系数_python – 评估多项式系数
- 《个体软件过程》—第1章1.3节个体软件过程
- 开始学习python标准库---os
- 酒吧手机游戏java_酒吧里24种常见游戏的玩法
- 服务器自动ip使用,自动或手动设置IP地址图解教程
- 极速office(Word)怎么删除背景颜色
- java 实现排列组合输出
- 【每日爬虫】:利用线程池爬取百思不得姐段子
- 最强蜗牛服务器维护祷告bug,最强蜗牛地缝bug是什么 最强蜗牛地缝事件漏洞说明...
- LintCode 138.子数组之和
- 垃圾填埋场渗滤液厌氧处理过程中沼气的综合利用
- 加密扩展库+php,PHP加密扩展库—Mcrypt扩展库
- 又遇:只有偏执狂才能生存
- 机器人学:四元数插值方法SLERP和SQUAD的C语言实现
热门文章
- 2.利用计算机进行信息加工的一般过程是:,[信息技术教案]《计算机信息加工的一般过程》教案...
- python库文档的错误_自己编程中遇到的Python错误和解决方法汇总整理
- xwpython aui 子窗口-wxpython中的wxaui窗口管理器
- 【数据分析实例】6000 条倒闭企业数据分析
- 七十一、Python | Leetcode字符串系列(上篇)
- 十三、欧拉离散化计算期权定价期权定价
- 十五、JavaScript进度条的制作
- MyEclipse报错:String cannot be resolved to a type
- 研究生一年级,非计算机专业,自学机器学习现实吗?
- CVPR 2022 | GeoTransformer:基于Transformer的点云配准网络