初学者---Android 接口回调

来源:互联网 发布:php调用服务器exe程序 编辑:程序博客网 时间:2024/06/11 18:23
转自:

java 接口。Android Interface 自定义接口回调


不是很懂java 的Interface 接口的具体怎么实现的。在网上看了很多例子,终于理解了那么点啊。

因为原来在学习做一个微信的语音功能要做到一个接口功能。微信的后面有时间会写出来。


Interface 主要用来描述这类具有什么功能,而并不能给出每个功能的具体是实现。一个类可以实现多个接口,并在需要接口的地方,随时使用实现了相应接口的对象。

p.s.interface一定是public

下面的例子就是自己写的一个例子可以尝试着自己写一个:

接口回调的典型例子就是Android的Button监听事件了,

button.setOnClickListener(new OnClickListerner({@Overridepublic void onClick(View v) {   System.out.println("调用回调函数");}});

button的点击就是触发了回调的对象。

当用户点击Button的时候,接口函数被回调。所以可以这样子理解java callback,当条件成立了,或者是触发了某个条件,而引起了函数的回调。这个就是我对Interface接口的理解。

所以我们首先需要写一个Interface接口叫CallListener,然后写一个能调用该接口函数的类,叫做Call最后写一个用到Call类对象调用监听的NeedCall类。

接口类:

public interface CallListener {      public void finishCall();  }  
Call类:
public class Call {      CallListener callListener;  //定义接口对象      public void setOnCallListener(CallListener listener){ //接口对象构造(接口没有实例化,因为没有具体方法)          this.callListener=listener;      }      /*      * 触发接口的回调方法,相当于button的点击触发,在主类方法调用该方法触发回调      */      public void onCall(){          callListener.finishCall();      }  }  
NeedCall类:
public class NeedCall {        public static void main(String[] args) {          Call call=new Call();  //Call类的实例化                    call.setOnCallListener(new CallListener() {                            @Override              public void finishCall() {                  System.out.println("对接口方法的重写,调用回调函数时调用该回调函数");              }          });                    call.onCall();  //真正触发回调的方法。      }  }  
总结一下,要触发接口就是要构成触发接口的方法 。就像你要去监听一个人是否离开房间,就开一个口子传字条(相当于定义一个接口),再定义一个可以调用该接口的方法,最后那个人离开时触发你的监听条件。你只需要看着口子就可以,一旦条件触发,就构成了回调了。


原创粉丝点击