android-接口回调(精简)笔记总结
来源:互联网 发布:所有腾讯软件下载 编辑:程序博客网 时间:2024/06/05 01:03
看了很多网上的文章越看越乱,所以首先回到概念,什么是回调?按照网上大多文章写的,就是两个类互相调用方法,一开始看着也是挺奇怪的,这个“互相”是怎么来的,那么我门就来举个栗子。
接口类:
public interface ContactInterface { public void callBackByTel(String answer); }
Me类(其实就是调用类):
public class Me { public static void main(String[] args){ Me me = new Me(); me.hasQuestion(); } private void hasQuestion(){ //现在有问题想不出来答案,想去问你 You you = new You(); you.setCallback("蜗牛", "某道题答案是什么?", new ContactInterface() { /** mark **/ @Override public void callBackByTel(String answer) { /** mark **/ System.out.println("我说:嗯,好的,我收到答案了:"+answer+",谢谢"); } }); //你接到电话,起床开始思考问题 new Thread(you).start(); }}
You类(实现接口):
public class You implements Runnable{ private String who; private ContactInterface callBack; public You() { // TODO Auto-generated constructor stub } //调用此方法就表示有人联系你了,注册到你这来 public void setCallBack(String who,String question,ContactInterface callBack) { /** mark **/ this.who = who; System.out.println("你说:当前联系到我的人是"+who+",问题是"+question); this.callBack =callBack; } public void handleThings(){ //假如你现在正在想问题的答案,需要一点时间 for(int i=0;i<100000;i++){ if(i == 0){ System.out.println("你正在思考问题....."); } } String answer = "答案是A"; //想到问题的办法了 System.out.println("你说:想到答案了,准备打回去给"+who+"告诉他答案"); callBack.callBackByTel(answer); /** mark **/ } /* (non-Javadoc) * @see java.lang.Runnable#run() */ @Override public void run() { try { Thread.sleep(1000); handleThings(); } catch (Exception e) { e.printStackTrace(); } }}是不是看起来乱七八糟的,什么你问我问题,你回答我,越看越乱。那么我们回到概念上,互相调用。
注意只看有 /** mark **/的方法(<Strong>里面的,可能因为代码块里面不给加粗),首先定义了接口
ContactInterface,里面有一个方法CallbackByTelYou感觉是一个线程,里面有一个setCallback的方法,传入的参数是接口ContactInterfacce,然后在后面把你相传入的东西作为callbackByTel传进去
Me像是android里面的Button回调,You就是Button,通过使用You的setCallback方法,传入参数,实现内部类。此时callBackByTel参数已经传过来了。
按个人的理解,setCallback就是一个调用,而callbackByTel就是一个回调。不知道理解的对不对,但是加上那些问来问去的输出之后感觉很多,所以想直接理解方法。下面附上输出的结果
阅读全文
0 0
- android-接口回调(精简)笔记总结
- android接口回调总结
- android回调接口笔记
- Android精简小笔记(2):广播机制
- Android精简小笔记(5):Sqlite数据库的使用方法
- Android精简小笔记(6):设置手机桌面图片:
- Android学习笔记之接口回调
- 回调接口总结
- Android技术开发之接口回调机制总结
- android 接口 接口回调
- Android精简小笔记(1):SlidingDrawer控件(抽屉)的用法
- Android精简小笔记(9):Spinner的用法(下拉选项控件):
- Android精简小笔记(3):在adb shell中操作sqlite数据库的方法
- Android精简小笔记(4):解析html格式的字符串
- Android精简小笔记(7):左右滑动屏幕事件的触发:
- Android精简小笔记(8):Activity转换时的效果设置
- Android精简小笔记(10):长按屏幕时弹出对话框
- (Android)接口回调
- 【c++】函数的重载
- MVC分部视图的使用:Html.Partial/RenderPartial,Html.Action/RenderAction,RenderPage
- oracle 学习笔记
- java dom4j解析xml
- HBASE+PHOENIX性能优化注解
- android-接口回调(精简)笔记总结
- Windows 建立、运行批处理文件
- sql语句使用case when实现列排序
- zookeeper的客户端操作命令
- AbstractQueuedSynchronizer源码分析二(共享锁部分)
- NDK调试arm-linux-androideabi-addr2line工具的使用
- WebView跳转网络地址
- Mac下安装emacs+cscopse+auto-complete
- 提高php执行效率的建议