问题标签 [greenrobot-eventbus]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
android - 如何取消订阅自己发送的EventBus事件?
我为EventBus事件注册了 2 个正在运行的类 - 实例A和实例B。他们都实现了从地方ConEvent(SampleEvent event)
接收的方法。到目前为止,一切都很好。EventBus.post(new SampleEvent(int foo, String bar));
但是有时我需要SampleEvent
从 B 发布到 A。是否可以告诉B它不应该自己处理SampleEvent
发送,或者我需要做一些解决方法,比如在 中设置一个标志SampleEvent
?
android - 无法在 Fragment 中获取更新 GreenRobot EventBus 订阅
在我的活动中发布 GreenRobot Event 。我注册的内部片段
但无法自动触发订阅端片段。如果是的话,是否有可能在片段中更新任何建议。
java - GreenRobot EventBus
有没有人有使用EventBusBuilder
绿色机器人的例子Eventbus
?
EventBus.getDefault()
我有一个在各处使用的应用程序,但现在我想配置该总线以停止发送无订阅者消息。这里讨论:https ://github.com/greenrobot/EventBus/blob/master/HOWTO.md
由于配置EventBus
, 的代码似乎返回了总线本身的一个实例(来自上面的文档):
我只是不知道把那个实例放在哪里!我是否必须像EventBus
图书馆本身一样在某个地方制作一个单例来包含它?然后将我所有的电话重新连接EventBus.getDefault()
到我自己的班级?
只是有点困惑。帮助表示赞赏。
谢谢,
贾德
android - 事件总线片段注销
我有一个注册到事件总线的闪屏片段:
如果屏幕自动锁定(或任何其他可以调用 onStop 的事件),容器活动将继续 onStop,并且片段不再能够接收(网络)事件。我正在考虑将“注销”逻辑移至 onDestroy方法。这是个好主意吗?
android - 我可以在活动通信中使用 EventBus 吗?
共有三个活动 A
,B
和C
在 Activity A 中注册,然后
EventBus
在 Activity AonCreate()
中注销onDestroy()
,以及一个方法onEvent(TestEvent e);
活动
A
开始活动B
活动
B
开始活动C
在活动中
/li>C
:
我用EventBus
这种方式,效果很好。我的代码有什么问题吗?
android - Eventbus:没有明确的退订点如何处理?
广泛的问题
您如何处理没有明确退订位置的情况?
具体问题
在 Android 的 BroadcastReceiver 中,没有可以调用 EventBus 取消订阅的生命周期结束方法。这个 BroadcastReceiver 可以被多次调用。由于没有取消注册,该事件在第一个事件之后以指数方式(实际上是算术)触发更多动作,因为我们在初始化方法(onReceive)中再次注册。
我猜这种情况很常见,可以在这里讨论。
潜在的解决方案
我们正在检查是否有特定事件的现有订阅者,只有在没有订阅者时才在总线上注册。
这似乎是骇人听闻且不可靠的方法。举个例子,如果代码的另一部分开始依赖相同的事件并且也必须注册怎么办?我们已经有一个来自新位置的公共汽车上的订阅者,我们的旧代码不会自行注册。我们的逻辑将失败,或者必须变得更加复杂,并且与订阅者的数量等紧密耦合。
如果问题不容易理解,请指出,我可能会尝试另一种解释方式。
android - 使用 EventBus 或 Otto 时减少事件类的数量
我即将开始开发 Android 应用程序。我有兴趣在我的应用程序中使用 Otto 或 EventBus 来协助进行异步 REST 网络调用并在调用返回时通知主线程。我在研究期间发现使用这些总线的一个主要缺陷是通常需要创建太多的事件类。是否有任何模式或方法来减少必须使用的事件类的数量?
android - Android:绿色机器人事件总线:在单个帖子上收到多个事件
我在 Android 中使用绿色机器人事件总线
我正在使用 EventBus.getDefault().post 和 onStop 调用所有事件 我正在调用 EventBus.getDefault().unregister(this); 在我的活动中。但是,一旦我按下并重新打开应用程序,在单个事件发布中,就会收到多个 onEvent()。有没有其他人遇到过这个问题?
netty - Otto 和 Eventbus 哪个更好?
我打算使用基于事件的解决方案来解耦 android 应用程序中的几个方面。
此应用程序涉及连接到多个套接字并从它们异步接收事件。
我计划使用 Netty NIO 来处理这些多个套接字连接,这些连接可以随机产生彼此独立的事件。
请记住,您的建议是易于实施、可扩展性和可维护性。
greenrobot-eventbus - 在 Application 类中订阅 Eventbus 有什么缺点?
我在我的 Android 应用程序中使用EventBus 。Eventbus.getDefault().register(this)
在 my中做 a 是个好主意Application.onCreate()
吗?我没有任何 UI 更新要进行。我正在尝试这样做以确保即使应用程序进入后台,我也能收到订阅数据。可能还有其他方法可以实现我想要的,但我很好奇这种方法是否有问题。
我的疑问是:
这会导致某种内存泄漏吗?Eventbus是在引用Application对象,Application对象也是依赖Eventbus。这看起来是循环的。
什么时候注销?不保证调用 Application.onTerminate()。如果 #1 不是问题,我想可以忽略 Application 类中的取消订阅。