問題タブ [roboguice]
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.
java - Guice を使用して Android アクティビティにインターフェイスの impl を挿入するにはどうすればよいですか
AndroidでGuice 3.0を使用してDIを行っています。
私は持っている
と
私がしたことは、私の MyApplication クラスで Guice をブートストラップして、configure メソッドに 1 つのステートメントを持つモジュールを与えることでした。bind(APIClient.class).to(DefaultAPIClient.class);
Guice の例で指示されたことを実行しました
これを正しく理解していないかもしれませんが、APIClient を使用する複数のアクティビティに APIClient を注入するにはどうすればよいでしょうか?
私はこれをしましたHomeActivity
これは機能せず、私にGuice configuration errors: 1) No implementation for com.mycompany.APIClient was bound
したがって、これを機能させることができた唯一の方法は@Inject、HomeActivity の APIClient クライアントから を削除し、それを使用して注入することでしたclient = Guice.createInjector(new APIClientModule()).getInstance(APIClient.class);
これは、APIClient を使用するすべてのアクティビティでこれを行う必要があるということですか? 私は何か間違ったことをしているに違いない。
どんな助けでも素晴らしいでしょう。ありがとう!
android - Androidでフラグメントを使用してroboguiceを使用する簡単な例はありますか?
フラグメント + RoboGuice を使用した実際の例を見つけるのに問題があります。この問題は、Android フラグメント トランザクション マネージャーでフラグメントを追加/削除しようとすると発生します。フラグメントに RoboFragment から継承するように指示すると、トランザクション マネージャーはクラスがフラグメントであると認識しなくなります (RoboFragment を拡張するため)。ただし、RoboGuice 独自のフラグメント マネージャーを使用することはできますが、これもクラッシュします。RoboGuice フラグメントを動的に追加/削除する例はありますか?
android - onCreate() が呼び出されたときに、RoboGuice は既存のオブジェクトを再インスタンス化しますか?
私のアクティビティには、onCreate が初めて呼び出される前に初期化される多数のオブジェクトが挿入されます。アクティビティが終了メソッドを呼び出して終了すると、メインの「OS デスクトップ」ウィンドウに戻る前に onDestroy を通過します。次に、アプリケーションを再度呼び出すと、onCreate が再度呼び出されます。今回は、上で最初に終了が呼び出されたときと同じままです。したがって、RoboGuice が注入されたオブジェクトを再度インスタンス化するかどうか疑問に思っていますか? そうでない場合、これを行う方法はありますか?ありがとう。
android - Roboguice、AndroidAnnotations、スレッド間のイベント
RoboGuiceがEventを起動すると、イベントコールバックはどこで、どのスレッドで実行されますか?たとえば、do(@Observes OnUpdateUiEvent e)を持つアクティビティがあります。新しいOnUpdateUiEvent( "data")を起動するバックグラウンドスレッドもあります。だから、私のdo()メソッドは私が理解したようにbgスレッドで実行されますか?AndroidAnnotationsの@Backgroundでdo()に注釈を付けるとどうなりますか?プリプロセッサはrunInUiThread()でdo()を呼び出す必要がありますか?
すべてが正しければ、このパターンがスレッド間の通信の最も簡単な方法を提供すると思います。
android - Android SDK 8 で動作する RoboGuice のバージョンは何ですか?
それはおそらく私の質問の一部です。
基本的に、バージョン 1.1.2 の実際のインジェクションに苦労しています。このサイトのいくつかのページを読みましたが、何かが足りないと感じました。
基本的に、RoboApplication 拡張機能を実行しました。addApplicationModules メソッドをオーバーライドしました。モジュールも作りました。
私のモジュールは次のようになります。
私のアダプターにはこれがあります:
私がそこにいない場合、コードのチャンクが存在する適切な場所はどこですか...インジェクターを関連付ける場所はどこですか?
最後に...私のアプリケーションには次のように注入されます:
示されているように、Inject 属性を使用しようとしています。例えば:
私が道に迷ったいくつかの理由は、私が .NET と Flash/ActionScript のバックグラウンドを持っていることと、(.NET の世界では) Ninject の代わりに StructureMap しか使用していないことです。 Ninjectのアイデアを念頭に置いています。誰かがこの小さなピースを理解するのを手伝ってくれませんか?
RoboGuice の 2.x にジャンプするのではなく、1.1.2 を使用することに集中したいと思います...特にまだベータ版であるため、気にしないでください。
ありがとう、ケリー
android - Roboguice を使用した Android アプリケーションでのグローバル エラー処理
Roboguice依存性注入フレームワークを使用する Android アプリに取り組んでいます。そのため、ほとんどの場合、RoboActivity、RoboListActivity などを拡張します。
ここで、アプリケーションがクラッシュした場合に警告またはエラー アクティビティを表示する、ある種のグローバル エラー処理を紹介したいと思います。
次のような基本アクティビティを実装することで、以前にこれを行いました。
ここで、デフォルトの例外ハンドラーと、このハンドラーから派生した他のすべてのアクティビティを定義します。
これがRoboguiceでどのように達成されるのだろうか?
android - roboguiceはActivityを独自の実装に置き換えます
デフォルトのActivityクラスを、roboguiceを使用してこのクラスから拡張された独自の実装に置き換える方法はありますか?
たとえば、次のようなアクティビティです。
デフォルトのActivityクラスを置き換え、他のすべての派生アクティビティの基本アクティビティになります。
android - Roboguice注入システムサービス
私はRoboguiceの使い方を学んでいて、システムサービスを注入する方法を理解するのに苦労しています。私が見たすべての例はアクティビティに注入していますが、POJOに注入したいと思います。Roboguice2.0ベータ3を使用しています
PhoneNumberクラスがあり、TelephonyManagerサービスを注入したいと思います。
RoboActivityを拡張するクラスに注入する場合、すべてが正常に機能します。しかし、RoboActivityを拡張しないクラスにTelephonyManagerを注入することは可能ですか?
android - 実行中の roboguice アプリケーションでシングルトン インスタンスを置き換える
roboguice を依存性注入フレームワークとして使用する Android アプリケーションがあります。いくつかのシングルトン サービスが定義されており、アプリケーションとアクティビティで使用されます。私の問題は、ActivityInstrumentation2Testcase でワークフローをテストするロボティウム テストがあることです。テストでは、実際のインスタンスではなくモックを使用する必要があります。残念ながら、アプリケーションが実行中であるため、参照を変更する可能性が見つかりませんでした。誰かアイデアはありますか?
dependency-injection - RoboGuice.newDefaultRoboModule()を使用して単体テストを行おうとすると、Roboguice2.0b3およびRobolectricで失敗します。
私はRoboGuice2のastroboyのサンプルコードとドキュメントを見てきましたが、正直に困惑しています。皆さんが私が試すことを手伝ってくれることを願っています。ここでの目標は、モジュールをテストして、モジュールがロードされていること、およびIoCが機能している/配線されていることを確認することです。
私のモジュールは2つの点で異なります...私のモジュールはライブラリクラスにあり、構文は同じです。
また、valueフォルダーのライブラリクラスにroboguice.xmlがあります
テストプロジェクトは、ライブラリプロジェクトを参照およびエクスポートするアプリプロジェクトを参照します。
テストプロジェクトでは、次のようになります。
セットアップ中は、常に何らかのnull例外でエラーが発生します。私はこれを、特にnewDefaultRoboModuleメソッドで分解しました。Robolectric.applicationがnullではないこと、および新しいMyTestModuleもnullではないことを知っています。デバッガーをステップスルーしたときに、MyTestModule.binderがnullであることがわかったので、それが問題であるかどうかはわかりません。
エラースタックトレース:
他にどこを見ればいいですか?私は、これらすべてがテストによってどのように結合するかについて迷っています。
見てくれてありがとう、ケリー