問題タブ [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 での null ポインター例外

このプロジェクトを機能させるためにさまざまな方法を試しましたが、最終的に Green Robot の EventBus に落ち着きました。ここでこれに関連する私の2番目の質問はここにあります: - Multiple Fragment to Activity communication

そこでイベントバスのルートを案内されました。私は彼に適切なライブラリをボルトで固定しました。私はそれを機能させることに非常に近いと思います。を含む行でヌルポインタ例外が発生し続けます

eBus を正しく登録していないため、かなり確実です。Fragment にはそのようなコンテキストがないことは知っていますが、 getActivity() も使用しようとしましたが、役に立ちませんでした。MainActivity、CoreFragment、および LogCat を以下に投稿しました。誰かが助けてくれれば、とても感謝しています。これは、ほぼ1か月間、オンとオフが続いています!!

フラグメントコードは次のとおりです。

eBus.register(this);、eBus.register(this, String.Class);、eBus.register(getActivity()); など、さまざまな順列を試しました。ボタン 1 が押されたときの LogCat は次のとおりです。

私が試したさまざまな方法はすべて、エラーなしで正常にコンパイルされますが、画面上のボタンを押すたびに強制終了します。誰かアイデアをください?? ありがとうございました。

0 投票する
2 に答える
9479 参照

android - GreenRobot EventBus を使用したイベントのスレッド化

GreenRobot のEventBus for Android を調べ始めたばかりで、スレッドについて質問があります。

バックグラウンド スレッドで実行したい長時間実行プロセスがあり、完了すると UI が更新されます。

次のようなものです:

updateUI()バックグラウンドでも実行されるため、明らかにここで呼び出すことはできません。

では、これを処理するための推奨される方法は何でしょうか? onEventBackgroundThread()UI スレッドで実行される my 内から別のイベントを発生させますか? それとも、長時間実行プロセス自体から起動しますか? それとももっと良いパターンがありますか?

0 投票する
1 に答える
885 参照

android - GreenRobot EventBus クラッシュ アプリ

アプリ全体でGreenRobot の EventBusを使用していますが、とても気に入っています。次のような方法を使用すると

doThis()NPE のような例外があり、アプリはクラッシュしませんが、EventBus は例外を Log.e() します。実際にアプリがクラッシュするように EventBus を構成できますか? これにより、デバッグが容易になります。

0 投票する
2 に答える
4935 参照

java - GreenRobot EventBus を使用したスレッドからスレッドへの通信

GreenRobot のEventBusから始めました。

私が苦労していることが 1 つだけあります。それは、onEventXY() メソッドがサブスクライブしたスレッド内でも実際に実行されるように、異なるスレッド間で通信するにはどうすればよいかということです。

イベントを投稿すると、イベントが投稿されたスレッドと同じスレッドからサブスクライバーの onEvent メソッドが呼び出されるようです。それは私が望むものではありません。

イベント オブジェクトを受信したスレッド内の onEvent メソッドによって、実際に受信したイベント オブジェクトが処理されるように、スレッド間通信に EventBus を使用できるようにしたいと考えています。

それは可能ですか?

例:

  • メインスレッド
  • backGroundThread1
  • backGroundThread2

MainThread は EventBus にイベントを投稿し、backGroundThread1 は onEventXY() メソッドでイベントを受け取り、独自のスレッド内でコードを実行します (変数を設定します)。backGroundThread2 は onEventXY メソッドでそれを受け取り、独自のスレッド内でコードを実行します (変数を設定します)。

これが (まだ) 不可能な場合は、実装が難しい BlockingQueue などのスレッド キューを使用する運命にあります。

何か案は?

0 投票する
4 に答える
6491 参照

android - greenrobot を使用して、まだ初期化されていないアクティビティまたはフラグメントにデータを渡す方法は?

アクティビティとフラグメントの間で greenrobot パス データを使用しようとしましたが、詳細な方法を示す適切なチュートリアルが見つかりませんでした。これまで読んだ内容に基づいて、このようなことを書きましたが、うまくいきません。緑のロボットを使用して、まだ初期化されていないアクティビティまたはフラグメントにデータを渡すにはどうすればよいですか?

主な活動 :

アクティビティ_レッスン:

ここでイベント ハンドラが呼び出されることはありません。何が間違っていますか?

0 投票する
1 に答える
1714 参照

android - EventBus でイベントをリッスンするアクティビティ

非同期 HTTP 要求から受信したオブジェクトのビューを使用してアクティビティを取得しました。EventBus を使用して、オブジェクトとアクティビティで次のメソッドを使用してイベントを投稿しています。

以前、アクティビティのインスタンスを onCreate() メソッドに登録しました。

私は Android の Activity ライフサイクルを認識しており、Android によって破棄される可能性のあるインスタンスを登録しているため、EventBus の使用方法が正しくないと思います。私はそのような振る舞いをするインスタンスを登録することに熱心ではありません。

すべての onEvent() メソッドに Application インスタンスまたはオブジェクトを登録できますが、God オブジェクトをコーディングすることになります。

getStickyEvent(MyObjectEvent) がnullであることを確認してからアクティビティを登録することで、スティッキーイベントを使用するソリューションになりますか? null でない場合は、アクティビティを登録します。

Android のビューで EventBus を使用する最善の方法を知りたいです。前もって感謝します ;)

0 投票する
3 に答える
1396 参照

android - GreenRobot イベントバスを使用した Android での IPC

(greenrobot) EventBusを使用して、リモート サービスと通信する必要があります。残念ながら、IPC では動作しないようです。コードを見ると、回避策もわかりません。どんな助けでも大歓迎です!

おまけの質問 - IPC をサポートする他の EventBuses (Android 用) はありますか?

0 投票する
1 に答える
1056 参照

android - greenrobot Eventbus android のイベントはキューに入れられますか?

USB経由でAndroidタブレットが原因で、arduinoからデータを受信して​​います。

私の主な活動では、新しいデータが USB に到着したときに関数を実行するリスナーがあります。

問題は、関数の実行に時間がかかることですが、新しいデータが到着するとすぐに、この関数が再びトリガーされます。USB から 115200 bps で継続的にデータをストリーミングしています。

これを解決するために、greenrobot イベント バスを使用してみました。新しいデータが到着すると新しいイベントが投稿され、このイベントはサービスによってサブスクライブされます。

イベントがキューに入れられ、最後のイベントが完全に実行されるのを待つかどうかは疑問です。

0 投票する
1 に答える
603 参照

android - Android GreenRobot の EventBus の「登録」メソッドでアプリケーションがクラッシュする

説明した方法を使用すると、アプリケーションが例外なくクラッシュします。それを実現できるものは何ですか?