android 回调的理解(结合接口)

这里通过一个经典的例子来说明回调的具体实现机制,在这个机制里,包含

两个类和一个接口,接口的定义如下:

//相当于接口InA
public interface BoomWTC{
  //获得拉登的决定
  public benLaDengDecide();

  // 执行轰炸世贸
  public void boom();
}

类A的定义如下,它作为一个主类,实现了接口

//相当于class A
public class At$911 implements BoomWTC{
  private boolean decide;
  private TerroristAttack ta;      //类B

  public At$911(){      //构造函数
    Date now=new Date();
    SimpleDateFormat myFmt1=new SimpleDateFormat("yy/MM/dd HH:mm");
    this.dicede= myFmt.format(dt).equals("01/09/11 09:44");
    this.ta=new TerroristAttack();
  }

  //获得拉登的决定
  public boolean benLaDengDecide(){
    return decide;
  }

  // 执行轰炸世贸
  public void boom(){
    ta.attack(new At$911);//class A调用class B的方法传入自己的对象,相当于【you call me】
  }
}

类B的定义如下:

public class TerroristAttack{
  public TerroristAttack(){
  }

  public attack(BoomWTC bmw){   //调用类A中的方法
    if(bmw.benLaDengDecide()){    /*class B在方法中回调class A的方法,相当于【i call you back】*/
   
    }
  }
}

从例子可以看出,类B是通过接口回调了类A的方法

时间: 2024-07-28 22:33:42

android 回调的理解(结合接口)的相关文章

Android回调机制的理解

定义: 所谓回调就是说一个程序里面有一个函数a,我在这个程序里面调用b函数,我希望b函数来调用我的a函数,这个a函数就叫做回调函数.(网上看了好久才明白0-0) C++对回调的实现: 比如说我在程序里面调用qsort(a,a+n,cmp)这该快排函数,其中a是数组,n是数组元素的个数,而cmp函数是自己的程序里面定义的.我想让qsort来调用我的cmp函数,就要吧cmp函数指针传给qsort,这样qsort就可以来调用我的cmp函数了.这就实现了回调,而这个cmp函数就叫做回调函数. Andro

Python 多进程实战 & 回调函数理解与实战

这篇博文主要讲下笔者在工作中Python多进程的实战运用和回调函数的理解和运用. 多进程实战 实战一.批量文件下载 从一个文件中按行读取 url ,根据 url 下载文件到指定位置,用多进程实现. #!/usr/local/python27/bin/python2.7 from multiprocessing import Process,Pool import os,time,random,sys import urllib # 文件下载函数 def filedown(url,file):  

实例介绍 Java(android) 回调函数使用方法

在Android开发中经常用到回调机制,其中最典型的就是控件被触发的实现方式,简单而言,如Button被Click后,是系统调用了OnClick方法,而我们为Button注册了OnClickListener监听器,当被触发Click后,OnClickListener中的OnClick方法就会被回调,我们就能在其中执行相应操作了. 下面举一个简单的例子介绍回调的实现方式: 回调函数使用的简单例子 程序员A写了一段程序(程序a),其中预留有回调函数接口,并封装好了该程序.程序员B要让a调用自己的程序

android回调函数

在我们进行android开发的时候,经常遇到一些回调函数,其中,我们最常用的回调就是,当我们对一个组件设置监听的时候,其实就相对于设置的回调函数.例如: Button btn = (Button)findViewById(R.id.btn); btn.setOnClickListener(new Button.OnClickListener(){//创建监听 public void onClick(View v) { String strTmp = "点击Button01"; Ev1.

android 回调函数二:应用实例

前言:如果对android回调的概念不明白的请看:android 回调函数一:基本概念 1.定义接口 package com.app.util; public interface ZYJCallBack { public void dataResult( String resultString ) ; public void progress( Integer progress ) ; public void start() ; } 2.实体 package com.app.util; impo

回调函数、Java接口回调 总结

回调函数 谈到回调,我们得先从回调函数说起,什么叫回调函数呢? 回调函数是什么?    百度百科的解释:回调函数就是一个通过函数指针调用的函数.如果你把函数的指针(地址)作为参数传递给另一个函数,当这个指针被用为调用它所指向的函数时,我们就说这是回调函数.回调函数不是由该函数的实现方直接调用,而是在特定的事件或条件发生时由另外一方调用的,用于对该事件或条件进行响应.    接着,我们从下图简单说明一下回调函数.    已知图形上面三种模块,此时标号2能称为回调函数吗? 答案:不能,只有当标号2函

关于Android的一些理解

Activity中写回调函数 View的回调函数-------->事件回调 Activity层--------------->生命周期回调函数.事件回调函数 Layout是Activity的一个属性.Layout for Activity or app widget. Layout及View的事件处理------------------>事件处理函数---------------->是否在当前Activity Function层-------------->函数体 Data层

Android下如何理解onMeasure,onLayout的过程

在Android中view如何完成绘制这个过程介绍了很多,但是很多理论化的东西,最近重新整理一下,通俗的讲解一下. View绘制过程就好比你向银行贷款, 在执行onMeasure的时候,好比银行告诉你大概贷款额度有多少?你根据自己的需求,进行各方面的计算,计算出一个自己大概需要的金额,然后告诉询问需要多少贷款.贷款额度好比显示空间大小. 实际代码执行过程是这样 onMeasure(int widthMeasureSpec, int heightMeasureSpec),其中widthMeasur

android如何使用自定义JNI接口,以及NDK工具的环境搭建与使用。

一.环境的搭建: 1.需要的工具: A.cygwin    (在windows下使用LINUX系统)                                                                    http://www.cygwin.com B.android-ndk-1.6_r1-windows (主要是起到将C或C++编译成动态库的作用)   http://dl.google.com/android/ndk/android-ndk-1.6_r1-wind