安卓之接口回调

回调就是A和B有合作关系,A的某一个环节需要B自己告诉A要怎么做,这就是回调,回调一定有接口
button.setOnClickListener(new View.OnClickListener() {public void onClick(View v){})
button.setOnClickListener调用View.OnClickListener(),View.OnClickListener()是回调函数,调用onClick()方法,onClick方法再调用View v的方法回去
基本上各种带setOnClickListener都是回调,各种监听都是回调

链接: link.

● Camera.PreviewCallback:定义了onPreviewFrame(byte[] data, Camera camera) 方法,当存在预览帧(preview frame)时调用该方法
Camera.AutoFocusCallback:定义了onAutoFocus方法,当完成一个自动聚焦活动时调用它。通过传入此回调接口的一个实例,在调用Camera对象上的autoFocus方法时会触发自动聚焦。

● Camera.ErrorCallback:定义了onError方法,当发生一个Camera错误时调用它。有两个常量可用于与传入的错误代码进行比较:CAMERA_ERROR_UNKNOWN和CAMERA_ERROR_SERVER_DIED。

● Camera.OnZoomChangeListener:定义了onZoomChange方法,当正在进行或完成“平滑缩放”(慢慢缩小或放大)时调用它。在Android 2.2 (API Level 8)中引入了这个类和方法。

● Camera.ShutterCallback:定义了onShutter方法,当捕获图像时立刻调用它

对普通函数的调用:调用程序发出对普通函数的调用后,程序执行立即转向被调用函数执行,直到被调用函数执行完毕后,再返回调用程序继续执行。从发出调用的程序的角度看,这个过程为“调用–>等待被调用函数执行完毕–>继续执行”

对回调函数调用:调用程序发出对回调函数的调用后,不等函数执行完毕,立即返回并继续执行。这样,调用程序执和被调用函数同时在执行。当被调函数执行完毕后,被调函数会反过来调用某个事先指定函数,以通知调用程序:函数调用结束。这个过程称为回调(Callback),这正是回调函数名称的由来,例如 Camera.PreviewCallback,当camera获取的Preview的fram时候执行该函数,然后不等其执行完就返回主程序执行,该函数执行完onPreviewFrame,就报告给主程序。
同步调用不需要回调这个概念,异步调用才有回调这个概念
链接讲的清楚,同布,异步,阻塞,非阻塞: link
void setPreviewCallback (PreviewCallback cb)
一旦使用此方法注册预览回调接口,onPreviewFrame()方法会一直被调用,直到camera preview销毁:Camera.PreviewCallback的意思是,camera是主体动作发出者,使用camera的previewcallback调用onPreviewFrame实现异步操作frame,回来的意思是在onPreviewFrame中调用Camera的函数(未体现)。
之所以起名PreviewCallback并不是实现preview的callback,而是camera有很多的回调函数,然后该回调函数和preview有关,主体还是camera

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值