1. 回调函数的定义:

在A类中定义了一个方法,这个方法中用到了一个接口和该接口中的抽象方法,但是抽象方法没有具体的实现,需要B类去实现,B类实现该方法后,它本身不会去调用该方法,而是传递给A类,供A类去调用。

类比:

你(B类)去书店买书,结果发现想买的书卖完了,这时候书店(A类)告诉你他们有来书通知业务(接口和接口中的抽象方法),于是你留下了自己的手机号让书店有书了给你来电(实现该抽象方法),书店等到有书了以后会根据你留下的电话和方法给你来电提醒你(B类实现的方法由A类来调用)。

2. 使用回调的情况:

  • 处理异步请求的返回值
  • 同一个事件有不同的处理方法

3. 回调的使用方法:

  • 定义接口(public interfact),预定义需要完成的函数
  • 定义A类,使用接口和该接口中的抽象方法,同时在初始化A时请求函数B作为callback的参数
  • 定义B类(implements interface),设定函数的具体动作,并将B当做参数传给A,使A在回调时可以找到函数的位置

4. 具体代码:

  • 定义接口
//定义回调接口

public interface Callback{
void notice();

}

  • 定义A类

    public class A{
    private CallBack callBack;

    public A(CallBack callBack){

    this.callBack = callBack;

    }
    public void Operation(){

    if(callBack != null){

    callBack.notice();

    }

    }

    }

  • 定义B类
public class B implement CallBack{
public static void main(String args[]) {
A a = new A(this);
a.Operation();
}

@Override
public void notice(){
System.out.println("Now you get notice!");
}
}

Android开发——回调(Callback)相关推荐

  1. Android开发之通过接口回调机制加载数据(源代码分享)

    Android开发之通过接口回调机制加载数据的简单实现,在实际开发中通过callback方法得到网络加载的数据的使用频率远比通过直接开启线程或异步任务加载数据的频率高的多,这篇文章的代码将简单实现该机 ...

  2. android接口回调!为什么有人说Android开发不再吃香?内含福利

    Android开发前景怎么样? 很多人说Android开发前景越来越差了 我觉得这个回答是片面的 首先Android应用开发前景差是在最近两年出现的,也就是从2018开始,从那时起移动端的程序员已经慢 ...

  3. android adidl回调,合工大Android开发课程报告.docx

    PAGE PAGE # PAGE PAGE # 通信工程师综合实训与实践 Android开发课程报告 学院:计算机与信息学院 姓名: 学号: 班级: 扌旨导老师:丁志中 PAGE PAGE # PAG ...

  4. 高级Android开发面试汇总

    高级 Android 开发面试题汇总 一. Android 基础 1. Service 的两种启动方式 简单的来说就是 直接启动 和 绑定启动 两种方式. // 直接启动 Context.startS ...

  5. Android开发万能Utils(工具大全)

    AndroidUtils Android开发不得不收藏的Utils 之前写这篇文章主要是项目应用到的Utils,发现已经有一个更全面的开源库总结,所以还是非常震惊可以总结的这么全面,在此我准备重新梳理 ...

  6. 给 Android 开发人员的 RxJava 具体解释

    前言 我从去年開始使用 RxJava .到如今一年多了. 今年加入了 Flipboard 后,看到 Flipboard 的 Android 项目也在使用 RxJava .并且使用的场景越来越多 . 而 ...

  7. Android开发中无处不在的设计模式——动态代理模式

    继续更新设计模式系列.写这个模式的主要原因是近期看到了动态代理的代码. 先来回想一下前5个模式: - Android开发中无处不在的设计模式--单例模式 - Android开发中无处不在的设计模式-- ...

  8. Android 系统(59)---Android开发:Handler异步通信机制全面解析(包含Looper、Message Queue)

    Android开发:Handler异步通信机制全面解析(包含Looper.Message Queue) 前言 最近刚好在做关于异步通信的需求,那么,今天我们来讲解下Android开发中的Handler ...

  9. Android开发笔记(一百一十)使用http框架上传文件

    HTTP上传 与文件下载相比,文件上传的场合不是很多,通常用于上传用户头像.朋友圈发布图片/视频动态等等,而且上传文件需要服务器配合,所以容易被app开发者忽略.就上传的形式来说,app一般采用htt ...

最新文章

  1. redis相比memcached有哪些优势?
  2. Django + Uwsgi + Nginx 的生产环境部署
  3. android 手机命令大全,adb 命令大全
  4. 这是mac 重置mysql 的三种做法
  5. UIScrollView事件拦截
  6. C++:听说C++很难学?该怎么学习C++?
  7. JavaScript数据结构——树(Tree)
  8. FFmpeg4.0.2 over版本av_register_all()流程(二十九)
  9. Oracle用户密码过期的处理方法
  10. php dth网络节点,基于 DHT 网络的磁力链接和BT种子的搜索引擎架构
  11. android模拟电源按键
  12. python调用rarfile进行解压rar压缩包时,报了如下错误
  13. 【转】我和权威的故事
  14. ChatGPT火了,对话式人工智能还能干嘛?
  15. 数据分析师需要学习什么?
  16. 【基础篇】————21、隐匿攻击之Web Interface
  17. Mysql 忘记root密码的完美解决方法
  18. ANSYS流固耦合仿真总结
  19. 汉字转拼音的python库
  20. Android ViewPager 垂直滑动 纵向滑动 VerticalViewPager

热门文章

  1. ssm查询一条数据并显示_高亮显示查询数据,其实很简单
  2. 信号完整性与电源完整性分析_「1月11日 免费视频直播」高速PCB信号完整性和电源完整性仿真实战分析、ADS创新解决方案分享-送给工程师的一份新年礼物...
  3. 人类又双叒叕输了,就没人能管管这条“狗”吗?
  4. spring cloud-zuul的Filter详解
  5. 算法模板——二分图匹配
  6. 【LeanEAP.NET】精益企业应用平台---源码Demo下载
  7. Linux shell编程学习实例与参数分析(一)
  8. ASP.NET编程中常用到的27个函数集
  9. SLAM中的逆深度参数化
  10. JavaScript 对象中this的指向问题