北大青鸟光谷校区

北大青鸟光谷校区

  • 北大青鸟徐东校区
  • 北大青鸟光谷校区
  • 北大青鸟宏鹏IT校区
  • 荆州青鸟之家
  • 襄阳青鸟之家

15902769092

百日千才

安卓培训之武汉北大青鸟android技术《回调函数》

2012-06-02 10:03来源:武汉北大青鸟光谷校区作者:027hpit

      安卓培训之武汉北大青鸟android技术《回调函数》。上一章给大家讲过安卓应用开机自动启动的技术,这一章节,我们将针对《android回调函数》进行技术探讨。

  一、回调函数

  所谓回调,就是客户程序C调用服务程序S中的某个函数A,然后S又在某个时候反过来调用C中的某个函数B,对于C来说,这个B便叫做回调函数。例如Win32下的窗口过程函数就是一个典型的回调函数。一般说来,C不会自己调用B,C提供B的目的就是让S来调用它,而且是C不得不提供。由于S并不知道C提供的B姓甚名谁,所以S会约定B的接口规范(函数原型),然后由C提前通过S的一个函数R告诉S自己将要使用B函数,这个过程称为回调函数的注册,R 称为注册函数。Web Service以及Java的RMI都用到回调机制,可以访问远程服务器程序。

  具体流程如下:

  Java 中没有指针的概念,通过接口和内部类的方式实现回调的功能:

  1. 定义接口Callback ,包含回调方法callback()

  2. 在一个类Caller 中声明一个Callback接口对象mCallback

  3. 在程序中赋予Caller对象的接口成员(mCallback) 一个内部类对象如

  new Callback(){

  callback(){

  //函数的具体实现

  }

  这样,在需要的时候,可用Caller对象的mCallback接口成员 调用callback()方法,完成回调.

  二、实例

  1、定义接口

  public interface OnUpKeyLisnter{//定义一个借口,以便其他人根据我的定义编写程序实现接口

  public void OnUpkey();

  }

  2、定义服务函数

  public class InterfaceServer implements OnUpKeyLisnter{

  public OnUpKeyLisnter mOnUpKeyLisnter;

  @Override

  public void OnUpkey() {

  // TODO Auto-generated method stub

  if(mOnUpKeyLisnter != null){

  mOnUpKeyLisnter.OnUpkey();

  }

  }

  public void setOnUpKeyListener(OnUpKeyLisnter l){

  this.mOnUpKeyLisnter = l;

  }

  }

  3、定义客户函数

  public class InterfaceClient {

  public static void main(String ...args){

  InterfaceServer mServer = new InterfaceServer();

  mServer.setOnUpKeyListener(new OnUpKeyLisnter() {

  @Override

  public void OnUpkey() {

  // TODO Auto-generated method stub

  System.out.println("哈哈哈~");

  }

  });

  }

  }

  回调函数在Android开发中频繁使用,一定要深入理解。

       针对安卓培训技术,北大青鸟武汉宏鹏光谷校区将在后面的章节与大家探讨更多相关内容,敬请关注。新浪微博 @ 北大青鸟宏鹏光谷校区

关闭

只为了方便您就学 北大青鸟光谷校区 北大青鸟光谷校区

武汉市江夏区华泰街武昌理工学院对面

全真项目实战 入学签就业协议

Copyright (c) 2006-2021 武汉宏鹏教育咨询有限公司 版权所有 All Rights Reserved.