Android之利用EventBus进行数据传递

在项目中,不可避免的要在两个页面之间进行数据的传递,就算不传递,也需要进行刷新之类的,我们根据Google提供的库类方法,也是可以做的,主要有广播broadcastreceiver,startactivity方法或者是application实例等等,都是可以工作的(只要实现了都是好样的,毕竟功能实现优先于代码结构?)。

但是同时存在一个问题,那就是代码的耦合度高了,例如广播,你还要写一个内部类,继承自系统的广播类,然后还需要在进入页面之前进行new和注册广播,然后不要用的时候,还需要一个个的反注册掉,否则就有内存泄漏的危险。

然后在需要通知此页面需要更新或者其它操作的地方,发送一个广播。这个广播的action还必须要和注册的action相同。试想一下,如果你改了注册的action,你还要对应地找到发送广播的代码,在修改一次。这样的耦合就有了一定的限制了。

但是我们这里用到的另外一个解耦的第三方的组件就可以帮我们解决以上的烦恼了。详细请看下面的链接,讲的都是怎么用的入门级别,通俗易懂。

1、http://blog.csdn.net/harvic880925/article/details/40660137

2、http://blog.csdn.net/harvic880925/article/details/40787203


感谢博主分享!

posted @   brave-sailor  阅读(1274)  评论(0编辑  收藏  举报
编辑推荐:
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
阅读排行:
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
历史上的今天:
2016-09-22 #pragma warning 启用和禁用warning
2016-09-22 IOS笔记 #pragma mark的用法
2016-09-22 iOS 10 升级后无法真机测试 Could not find Developer Disk Image
2016-09-22 在iOS中怎样创建可展开的Table View?(下)
2016-09-22 在iOS中怎样创建可展开的Table View?(上)
2014-09-22 Android ListView的背景和黑色边缘化的问题
2013-09-22 Android开机广播和关机广播
点击右上角即可分享
微信分享提示