关于接口回调的新理解
这两个类虽然都继承了两个接口,但用途不一样,callback接口是为了实现接口回调(虽然也有多态),组件接口是为了实现动态以方便维护和调用。
回调使得模块间通讯更加方便
回馈信息的处理或者其他操作的代码实现在activity类但是执行是在button的线程,这样两个线程互不影响。
回调在一次调用多次返回消息时很方便,例如a调用b,b可以在执行过程中执行多次或多个callback方法。
两个角色事务类和事件类,事务类继承回调接口并且在调用事件类时传入回调接口,事件类在执行完后调用回调接口
参考网站:https://zhuanlan.zhihu.com/p/35525368
回调在异步调用时很方便,不用设置监听器(就是一直循环等待消息的那种),也可能android的监听器本来就是用回调实现的而不是循环等待消息(猜的)。这里是异步回调的例子。异步需要多线程,单线程的回调没啥意义感觉和多态一样,因为本来回调就是帮忙实现异步的或者说有助于通讯的,当然回调的结构也可以解耦和实现多态,便于维护复用和个人或合作编写。
下面这图是两个类及其运行时的两个线程。
例如点击按钮后改变页面的风格,显然按钮只能改变自己的风格,因此页面的风格就可以靠调用回调函数来实现
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 25岁的心里话
· 闲置电脑爆改个人服务器(超详细) #公网映射 #Vmware虚拟网络编辑器
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· 零经验选手,Compose 一天开发一款小游戏!
· 一起来玩mcp_server_sqlite,让AI帮你做增删改查!!