神刀安全网

这个例子让你了解安卓回调机制

启发来自于:http://blog.csdn.net/xiaanming/article/details/8703708/

以上网址中的案例加上了一个异步的请求用于模拟环境,但本人认为这样理解起来仍旧有些费事,又做了一步简化。

我这里就是直接模拟小王给小李打电话,小李接通并告诉小王自己收到来电,这样一个场景来比喻接口回调。

先看代码:

interface Callback {      void getcall();  }

这里就是一个简单的接口,里面有一个方法。接口模拟的是通话的动作,方法是用于传递信息的。

public class XiaoLi {      Callback callback;  }

新建一个类表示小李这个人,然后实例化这个接口,代表的是接电话这件事。

public class XiaoWang extends Activity {      XiaoLi Li = new XiaoLi();      private void getAnswer() {         Li.callback = new Callback() {             @Override             public void getCall() {                 Toast.makeText(XiaoWang.this, "我是小李已经收到你的来电", Toast.LENGTH_SHORT).show();             }         };     }  }

这个类代表小王,首先对于小王来说需要先有小李的联系方式,也就是要实例化小李的对象,然后getAnswer方法表示的含义是,给小李打电话,然后小李接到了电话,并且通过getCall这个方法告诉小王,我是小李已经收到你的来电。

这个过程模拟的很简单,问题在于怎么来用它呢?

我们来看一下这个模拟场景,假设小王需要小李做一些事情,比如要小李说老李是笨蛋,那么就可以做如下的操作:

public class XiaoWang extends Activity {      XiaoLi Li = new XiaoLi();      private void getAnswer() {         Li.callback = new Callback() {             @Override             public void getCall() {                 Toast.makeText(XiaoWang.this, "老李是笨蛋", Toast.LENGTH_SHORT).show();             }         };     }  }

是不是很有趣,所以应用场景就是,当一个类需要另一个类来做一些事情的时候,可以通过接口回调的方式来实现,通常当一个方法需要调用多次的时候可以这样操作。

转载本站任何文章请注明:转载至神刀安全网,谢谢神刀安全网 » 这个例子让你了解安卓回调机制

分享到:更多 ()

评论 抢沙发

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址