问题标签 [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.

0 投票
2 回答
6499 浏览

android - Fragments 和 EventBus 的空指针异常

我已经通过各种方法来完成这个项目,最终选择了 Green Robot 的 EventBus。我与此相关的第二个问题在这里:-活动通信的多个片段

我被引导到那里的 Event Bus 路线。我已经加入了适当的图书馆,我认为我非常接近让它发挥作用。在包含

我相当肯定它,因为我没有正确注册 eBus。我知道 Fragment 没有这样的上下文,但我也尝试使用 getActivity() 也无济于事。我在下面发布了 MainActivity、CoreFragment 和 LogCat。如果有人可以提供帮助,我将不胜感激。这一直持续,断断续续近一个月!

这是片段代码:

我尝试了各种排列方式,例如 eBus.register(this);、eBus.register(this, String.Class);、eBus.register(getActivity()); 等等。这是按下按钮 1 时的 LogCat:-

我尝试过的所有各种方法都编译得很好,没有错误,但每次按下屏幕上的按钮时都强制关闭。请问有人有什么想法吗??谢谢你。

0 投票
2 回答
9479 浏览

android - 使用 GreenRobot EventBus 处理事件

我刚刚开始查看 GreenRobot 的Android 的EventBus并且对线程有疑问。

我有一个长时间运行的进程,我想在后台线程上运行,完成后会更新 UI。

所以像:

显然updateUI()不能在这里调用,因为它也会在后台运行。

那么处理这个问题的推荐方法是什么?从我的内部触发另一个onEventBackgroundThread()将在 UI 线程上运行的事件?还是从长期运行的过程本身中触发它?还是有更好的模式?

0 投票
1 回答
885 浏览

android - GreenRobot EventBus 崩溃应用

我在整个应用程序中都使用了GreenRobot 的 EventBus,并且非常喜欢它。当我使用类似的方法时

并且doThis()有一个像 NPE 这样的异常,应用程序不会崩溃,但 EventBus 会 Log.e() 异常。我可以配置 EventBus 让它真的让我的应用程序崩溃吗?这将使我更容易调试。

0 投票
2 回答
4935 浏览

java - 使用 GreenRobot EventBus 从线程到线程通信

刚开始使用 GreenRobot 的EventBus

只有一件事让我苦苦挣扎:如何在不同线程之间进行通信,以便 onEventXY() 方法实际上也在订阅的线程中执行。

似乎当您发布事件时,订阅者 onEvent 方法是从与发布事件的线程相同的线程调用的。那不是我想要的。

我希望能够使用 EventBus 进行线程间通信,以便实际接收到的事件对象由接收事件对象的线程中的 onEvent 方法处理。

那可能吗?

例子:

  • 主线程
  • 背景地线1
  • 背景地线2

MainThread 在 EventBus 上发布一个事件,backGroundThread1 在其 onEventXY() 方法中接收它并在其自己的线程中执行代码(设置一些变量),backGroundThread2 在其 onEventXY 方法中接收它并在其自己的线程中执行代码(设置一些变量)。

如果这(目前)不可能,我注定要使用线程队列,比如 BlockingQueue,它更难实现。

有任何想法吗?

0 投票
4 回答
6491 浏览

android - 如何使用greenrobot将数据传递给尚未初始化的活动或片段?

我尝试在活动和片段之间使用 greenrobot 传递数据,但我找不到合适的教程来详细说明如何做到这一点。根据我到目前为止所读到的内容,我写了一些类似的东西,但它不起作用。如何使用绿色机器人将数据传递给尚未初始化的活动或片段?

主要活动 :

Activity_Lessons:

这里永远不会调用事件处理程序。我做错了什么?

0 投票
1 回答
1714 浏览

android - 在 EventBus 中监听事件的活动

我有一个活动,可以查看从异步 HTTP 请求接收到的对象。我正在使用 EventBus 发布带有对象的事件,并在活动中使用以下方法:

以前,我在其 onCreate() 方法中注册了活动的实例:

我知道 Android 中的 Activity 生命周期,我认为我使用 EventBus 的方式不正确,因为我正在注册一个可能被 Android 销毁的实例。我不热衷于注册具有这种行为的实例。

我可以使用每个 onEvent() 方法注册一个 Application 实例或一个对象,但我将编写一个 God 对象。

通过验证 getStickyEvent(MyObjectEvent) 是否为空然后注册活动来使用粘性事件的解决方案是什么?如果不为空,我会注册该活动。

我想知道在 Android 中将 EventBus 与视图一起使用的最佳方法是什么。提前致谢 ;)

0 投票
3 回答
1396 浏览

android - Android 中使用 GreenRobot 事件总线的 IPC

我需要使用(greenrobot)EventBus 与远程服务通信。不幸的是,它似乎不适用于 IPC。查看代码,我也没有看到解决方法。任何帮助,将不胜感激 !

额外的问题 - 是否有任何其他支持 IPC 的 EventBus(适用于 Android)?

0 投票
1 回答
1056 浏览

android - greenrobot Eventbus android中的事件是否排队?

由于 android 平板电脑通过 USB 接收来自 arduino 的数据。

在我的主要活动中,我有一个监听器,它在新数据到达 USB 时执行一个函数。

问题是该函数需要一段时间才能执行,但是一旦新数据到达,该函数就会再次被触发。我不断地以 115200 bps 从 USB 传输数据。

为了解决这个问题,我尝试使用 greenrobot 事件总线。当新数据到达时将发布一个新事件,并且该事件将由服务订阅。

我怀疑事件是否排队等待最后一个事件完全执行。

0 投票
1 回答
603 浏览

android - Android GreenRobot 的 EventBus 'register' 方法使我的应用程序崩溃

使用所描述的方法会导致我的应用程序崩溃,没有任何异常。什么可以做到这一点?

0 投票
1 回答
544 浏览

java - 普通 Java 应用程序上的 Greenrobot 事件总线

我一直在开发Android应用程序并且一直在使用Greenrobot EventBus,你可以在这里找到它,我真的很喜欢它。清洁、多功能且易于使用。

现在我正在创建一个 Java 应用程序,如果我使用事件总线,它会对我有所帮助。所以我考虑过使用Greenrobot EventBus,但后来它是为使用而设计的Android,我不确定在正常使用它时是否有任何问题Java Application,毕竟它们都在Java.

我知道其他事件总线库,比如Guavaand Akka,但是因为我已经很熟悉了,Greenrobot EventBus而且它在多线程方面非常灵活(这对我也有帮助),我正在考虑使用Greenrobot并节省一些时间。