【Android 应用开发】Android中的回调Callback

简介: 【Android 应用开发】Android中的回调Callback

回调就是外部设置一个方法给一个对象, 这个对象可以执行外部设置的方法, 通常这个方法是定义在接口中的抽象方法, 外部设置的时候直接设置这个接口对象即可.


例如给安卓添加按钮点击事件, 我们创建了OnClickListener接口 实现了其中的onClick方法, 在合适的时机(按钮被点击的时候) , 就会执行我们实现的onClick()方法. 这个方法就被回调了 .


1. 如何定义一个回调



a. 定义接口 : 在类中定义一个Interface, 并在接口中定义一个抽象方法;


b. 接口对象 : 在类中定义一个该接口的成员变量;


c. 设置对象 : 在类中定义一个公共的方法, 可以设置这个接口的对象, 调用该方法给接口对象成员变量赋值;


d. 调用方法 : 在合适的位置调用接口对象中的方法;




2. 代码实例


public class Employee {
  /*
  * 定义回调接口的成员变量
  */
  private Callback mCallback;
  /*
  * 声明回调接口
  */
  public interface Callback{
  public abstract void work();
  }
  /*
  * 设置回调接口对象成员变量
  */
  public void setCallback(Callback callback) {
  this.mCallback = callback;
  }
  /*
  * 调用回调接口对象中的方法
  */
  public void doWork() {
  mCallback.work();
  }
}


public class Boss {
  private Employee employee;
  /*
  * 为Employee设置回调函数, 在这里定义具体的回调方法
  */
  public void setCallback() {
  employee.setCallback(new Employee.Callback() {
    @Override
    public void work() {
    System.out.println("work");
    }
  });
  }
}
目录
相关文章
|
7月前
|
开发工具 Android开发 开发者
Android如何回调编码后的音视频数据
有开发者提到,在RTMP推送端的基础上,希望能回调编码后的音视频数据,便于开发者对接第三方系统,如GB28181.
|
2天前
|
存储 Java Linux
Android系统获取event事件回调等几种实现和原理分析
Android系统获取event事件回调等几种实现和原理分析
20 0
|
6月前
|
Java Android开发 C++
[笔记]Visual Studio 2015 开发安卓so库JNI层——回调调用
[笔记]Visual Studio 2015 开发安卓so库JNI层——回调调用
|
7月前
|
Android开发
Android应用开发权限
Android应用开发权限
44 1
|
8月前
|
Android开发
Android 基于回调的事件处理机制详解
Android 基于回调的事件处理机制详解
64 0
|
9月前
|
XML Java 测试技术
车载Android应用开发与分析 - SystemUI 「功能」与「源码结构」分析
本期内容开始,我们将介绍原生Android Automotive中车载应用的实现方式和它的原理。首先要介绍的就是车载应用开发中非常重要的一个系统应用,Android系统的UI - SystemUI。
529 1
车载Android应用开发与分析 - SystemUI 「功能」与「源码结构」分析