CubieBoard博客-HomeCubieTech公司网站

cubie.cc CubieBoard中文论坛

 找回密码
 立即注册
搜索
热搜: unable
查看: 2330|回复: 0

利用简单java程序解释安卓回调机制的使用

[复制链接]

6

主题

0

好友

495

积分

中级会员

Rank: 3Rank: 3

贡献
97
金钱
198
威望
96
买家信用
卖家信用
积分
495
发表于 2017-4-27 19:20:30 |显示全部楼层
回调机制是指当程序处理完事情之后会自动调用指定方法,将结果发送出去;经常运用在通过线程处理耗时操作之后,将获得的结果发送给主线程,显示在UI上面

在这里我通过简单java程序简单解释一下回调机制,如有错误,欢迎指正!

1.我新建一个java项目CB,创建两个类,一个接口;分别是c类 A ,类B, 接口Callback;
解释:在类A的main方法里面发送命令给类 B的对象,也相当于类 A 用于发送命令 ,类 B 用于接收命令,然后通过线程处理命令之后获得结果,再将结果通过接口Callback返回给类A

2.接口CallBack,在这里写一个抽象方法void result(String result); 这个方法用来返回结果值



3.类A,这是命令发送者,在这里要给类B发送命令,所以先创建类B对象b,然后调用b的处理命令方法dealCommand(String command,Callback callback); 这里需要两个参数,一个是你要发送的命令command,另一个是Callback的对象,由于Callback是接口,所以在实例化Callback的时候必须要实现Callback的抽象方法,这里发送从1加到100的命令给b



4.类B,这是命令执行者,收到A的命令为从1加到100,在这里开启线程(虽然从1加到100不是耗时操作,但是为了更好解释回调,将1加到100看做耗时操作),在线程里面执行1加到100,当获取到1加到100的结果时,调用callback的返回结果方法       void result(String result); 将结果返回给类A



5.类A通过void result(String result),获取结果并将结果打印出来


具体执行流程:程序首先从类A的main方法开始-->发送命令command调用类B的方法dealCommand-->类B处理通过线程获取得到结果调用callback的void result(result) -->这个时候才会执行类A的void result(String result) -->执行打印结果

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

QQ|Archiver|手机版|邮件群发|cubie.cc---深刻的嵌入式技术和应用讨论中文社区 ( 粤ICP备13051116号-1  

GMT+8, 2019-8-24 22:12 , Processed in 0.025440 second(s), 9 queries , Apc On.

Powered by Discuz! X2.5

© 2001-2012 Comsenz Inc. | Style by Coxxs

回顶部