
当时我想了想,让他多线程后回调值...因为对方是新手,我也给他们简单描述了一下安卓的回调...他说了一下午也没想明白...原因不是我没有详细解释,而是他陷入了他的多线程问题...他把他的问题和我的复试混在一起了...他无法跳出任何逻辑思维。其实回拨系统很好理解。正因如此,也为了更好的忽悠,我打算用最直接的语言告诉你Android的回调系统是怎么回事。看这篇文章不需要太高深的技术基本功。如果你想了解JAVA的基础专业知识,知道什么是类和套接字,如何构建新的项目,我想你看完这一章一定会懂的。
不用多说,和网上很多详细介绍回拨制度的文章一样,我这里先从一个实际的例子开始:假设你的企业总经理想让你在上市前为他做一件事,你需要花一些时间去做。毫无疑问,总经理此刻上市也等不及你做了,所以他把自己的手机号告诉了你,让你做完了就给他打电话。这是现实生活中经常能遇到的例子。如果用的话,可以用编码的方法完成整个过程,看看整个过程怎么样。
首先在Eclipse中新建一个Java项目:CallBackDemoInJava;
然后创建三个新类:
1.经理(这个类用于模拟总经理)
2.人员(该类用于模拟雇员)
3.Main(主类);
管理器的代码如下:
Manager类是一个模拟总经理的类。当这个类的目标被创建时,它会在人事中实现doSomething方法,告诉员工根据人事的目标做什么。
人员代码如下:
总经理根据人事中的doSomething方法告诉员工做什么,员工做完后会根据Manager中的phoneCall方法将结果通知总经理。
非常好!一切准备就绪。让我们在Main中测试运行下的代码来看看结果:
代码执行结果如下:
让我们回到你刚才引用的实际例子:总经理希望你在上市前做些事情。这件事是根据情报告诉你的。如果事情完成了,打电话通知总经理。这里的phoneCall叫回拨,为什么叫回拨?我不确定你说不告诉我~这个你得去问SunEnterprise了,但是从编码的全过程可以看出数据信息的流入大概是Manager->:Personnel——>;经理,我觉得是一个“回调”的全过程?现在让我们总结一下考虑回调的两个基本标准:
1.A类启用b类中的x模式。
2.在2中实现X模式的整个过程中。A类中的ClassB,Y模式启用回调。
一切看起来都很极端~上面的例子代码简单通俗的描述了回调,但是在这里我也会有这样的疑惑:假设上市前总经理交给我一件事要做,副总经理要帮我做一件事。更无耻的是...负责人还发了一个每日任务,规定完了电话通知他们...这时候大家需要定义大量的类。什么样的总经理~主管班~对人负责~杂班,但是这些杂爷爷都规定干完活就打电话,每个班都会有类似的phoneCall作为回拨方式。这时候我们可以用面向对象编程的概念,看看这个回调方法是否可以抽象成一个单独的抽象类或者套接字。多态的概念溢于言表~~~因为JAVAsocket的好处,大家定义了一个名为CallBack的socket作为回调socket,然后在这个socket中演示了一个名为callbackbackResult的抽象方法作为回调方法,让这些对人类负责的总经理~主管~等人来完成这个socket。现在,让我们更新和改造我们的新项目:
回调编码如下:
经理代码更新和重组如下:
完成回调套接字调用回调backResult模式。
人员代码更新和转换如下:
做某事的方法还没有传给经理。目标只是一个回调套接字:
主代码不会变,实现结果也是一样的。
在这一点上,回调的基本要素和这个差不多~其实回调是有诚意的,可以理解,但是在安卓中回调是很关键的。基本上,回调系统随处可见。如果你能知道回调的秘密~相信会大大提高你的安卓技术~~吃药吧!
关于阿里百川
阿里百川(baichuan.taobao.com)是阿里巴巴“云”和“端”的重点发展战略。它是Alibaba.com的无线网络开发者平台。根据国际后端开发服务项目和完善的商业服务组件,以及“技术、商业服务和互联网大数据”的开放,展示了能够快速构建app并实现app商业化、提升客户体验的移动创业者解决方案。此外还有各种人力资源服务——物理室空、彩蛋管理、风险投资等。为流动创业者提供全方位保障。
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)