問題タブ [otto]

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 投票する
0 に答える
889 参照

android - Dagger + Otto アーキテクチャ ガイダンス

私は、ある程度モジュール化されたアーキテクチャでアプリを開発しようとしています (誰も知らないが、誰もが通信できる)。例から始めます。

内部LoginFragment:

Authenticatorこのイベントをキャッチし、ポスト バックします。

AuthenticatorDagger を介して多くのものに依存します。

によって提供されますAuthModule

Applicationのクラス:


問題は、どこでインスタンス化 ( @Inject) するAuthenticatorかです。どのクラスでも直接使用しません。AbsApplicationクラスのフィールドにすることはできますか?にダガーを使用する必要がありAuthenticatorますか?Daggerのモジュールを正しく使用していませんか?


@Inject Authenticatorの中に入れることができることはわかっていますLoginFragmentが、新しいパターンを模索しています。我慢してください。

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

java - WebViewClient.shouldOverrideUrlLoading の FragmentTransaction が IllegalStateException をスローする

競合状態と戦っているようですが、その原因を突き止めることはできません。以下のコードを実行すると、断続的に以下のスタック トレースが表示されます。

私が従わない Fragment ライフサイクルの明確なルールはありますか? イベントを処理するためにここでトランザクションを実行することを明示的に禁止するものについては明確ではありません。

を使用してWebViewClient、ローカルの .html ドキュメント内でクリックされた外部 URL を検出しています。たとえば、非ローカル ホストを指す URL です。Otto'sEventBusを使用して、これらのアクションを に投稿していActivityます。がこれらのイベントを受け取ったら、Activityそれらの外部 URL を別の で表示したいと思いますFragmentFragmentTransaction.replace()


DefaultWebViewClient.java


FragmentActivity.java


LoadExternalUrlEvent.java


EventBus.java


スタックトレース

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

android - Interface-Hell と Eventbus-Confusion を回避するには?

私はAndroid用のアプリをいくつか開発していますが、常にコミュニケーションが必要な場所に来ます

  • アクティビティへのフラグメント
  • フラグメント化するアクティビティ
  • フラグメントからフラグメントへ
  • フラグメントへのサービス

Android のドキュメントでは、インターフェイスを使用して、たとえば Activity と Fragment の間で通信することを推奨しています。しかし、たとえば 4 つのフラグメントがある場合、アクティビティは 4 つのインターフェイスを実装する必要があります。私は私の意図ですよね?

だから私はオットーを試してみましたが、試してみる価値があります。ただし、バスのイベントを追跡しないと、非常に混乱する可能性があることがわかりました。

これらのアプローチを回避するための戦略を探しています。Google やその他の主要な開発者はどうですか?

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

android - オットーイベントを2回受けた

オットーを使ってみます。これまでのところ機能していると思いますが、イベントを 2 回受け取ります。

これは私が持っているものです (私はGitHub の例に従いました):

プロデューサー:

サブスクライバー:

ログは次のようにロックされます。

イベントを 2 回受信するのはなぜですか?

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

android - サーバーと通信するための Android サービス

サーバーとの安定した接続を確立するには、サービスが必要です。
アクティビティとサービスは、双方向の通信を行う必要があります。

ここに私が知っているオプションがあります

  • インテント サービスを使用する
  • Service クラスを拡張 (別のプロセスで実行する) し、Messaging を使用して通信する

私の考え:

  • インテント サービスは優れており、独自のスレッドで実行されますが、タスクが完了すると停止します。私はそれをしたくありません。たとえば、何らかの理由で接続が中断された場合、サービスを終了するのではなく、再接続を試みる必要があります。

  • サービスクラスの拡張は理にかなっています。私は以前、サービスとの通信にメッセージングを使用するプロジェクトに取り組んでいました。ここでの問題は、プロジェクトが成長するにつれて、通信の管理が難しくなることです。

サービスが別のプロセスまたはスレッドで実行され、何らかの理由 (START_STICKY など) で終了した場合に再度開始する必要があるアプローチを探しています。

また、通信が簡単で、 OttoEventBusのようなものが使用できるとよいでしょう。

編集:問題は、それを実装する理想的な方法は何ですか。これにより、メッセージを処理する必要がなくなり、STICKY サービスが提供されます。

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

android - ライブラリ Otto 使用時のエラー

私はライブラリOttoを扱い、ここで例を試してみようとしています

そして、私は例を実行することができました。しかし、私は少し変更された例でエラーが発生したコンポーネントを操作したい

主な活動:

断片:

私はちょうど変更しました:

むしろmainTxt.setText(s);、メッセージを表示して値を設定するだけでなく、イベントをフラグメント化したいmainTxt

エラー:

理解するのを手伝ってください