問題タブ [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.

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

android - アクティビティを拡張せずにroboguiceを使用する

RoboActivityでActivityクラスを拡張せずにroboguiceを使用する方法はありますか?

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

android - 互換性ライブラリを備えたonViewCreated

Androidアプリケーションでは、onViewCreatedをオーバーライドして、ビューが表示されたらOnClickListenersを設定するフラグメントを実装しています。

これは、実装するとすべて正常に機能します。ただし、互換性ライブラリv4 r3を追加するとすぐに、メソッドがまったく呼び出されないようです。

今のところ、セットアップをonResumeに移行していますが、それは実際には理想的ではありません。だからここに私の質問があります:

  • これは互換性ライブラリのバグですか?

  • より良い回避策はありますか?

さらに掘り下げてさまざまなことを試した後、このスタックトレースを取得しました。これは、互換性ライブラリのバグであると信じさせてくれます。

しかし、さらに奇妙なことに。互換性ライブラリのソースを見ると、そのメソッドは実際には存在しますが、空です。

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

guice - モック フレームワークは、単体テストで依存性注入フレームワークと連携します

EasyMock と Guice フレームワークでテストを書いていると、問題が発生します。コードは次のようになります。

ではATest、B 実装をモック オブジェクトに置き換えます。しかし、インジェクターが A のインスタンスを作成すると、のコンストラクターB.addListener()で呼び出されます。A残念ながら、この呼び出しは、予期していなくても EasyMock によって記録されます。

したがって、私の問題は、EasyMockB.addListener()が の各テストケースで呼び出すことを期待していることですATest。これを克服するための提案があれば教えてください。ありがとう。

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

android - Guice for Android を使用することは理にかなっていますか?

非常に複雑で多くのビジネスロジックを持つAndroidプロジェクトでguiceを使用することについて議論しています。Guice はぴったりのように思えますが、深く読み始めると、必要以上に複雑に見えてきます。

私が理解できないことの 1 つは、Guice が非常に優れており、Java コードを記述するための最良の方法である場合、Guice を使用する Android コードが非常に少ないのはなぜでしょうか...そして、なぜ Google は Android の内部で Guice を使用しなかったのですか?

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

android - Injectview(Roboguice)が複数のレイアウトで機能しない

したがって、この1つのアクティビティにはさまざまなレイアウトがあります。

そして、私はそれぞれが開いてレイアウトでそれぞれのことを行うさまざまなクラスを持っています。

これらのクラスを@Injectを介してアクティビティに注入します。これはすべて問題ありません。

しかし、アクティブでないレイアウトにあるコントロールの1つで@InjectViewを使用しようとすると、エラーが発生します。

11-02 19:17:31.086:エラー/ AndroidRuntime(1326):原因:java.lang.NullPointerException:フィールドが@Nullableでない場合、クラスbe.baes.notes.View.EditNoteImpl.saveButtonにnull値を挿入できません

これがコードになります。

しかし、私はこれを行うことができます。

これを行うためのより良い方法はありますか?

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

android - RoboGuiceを構成しても何も起こりません

私はRoboGuiceを初めて使用し、DIを使用するようにアクティビティを設定しようとしています。しかし、使用しようとしても何も起こりません。「super.onCreate(savedInstanceState);」を呼び出した後、Activity.onCreate()メソッドにコンテンツがなく、ログインしていない空白の黒いウィンドウしか表示されません。

次の2つのコードスニペットを参照してください。

}

パブリッククラスClikClokModuleはAbstractAndroidModuleを拡張します{

}

上記のコードを見ると、2回目のログは取得されません。ただし、代わりにActivityから拡張し、マニフェストからandroid:name = "com.clikclok.ClikClokApplication"属性を削除すると、2番目のログが取得されます(初期化が実行されていないため、NullPointersでは失敗します)。

したがって、super.onCreate(savedInstanceState);で何が起こっている可能性がありますか。それが私のアプリケーションを動作させない原因になっていますか?

ありがとう

上記からの更新:

私はこれを調査するのにかなりの時間を費やし、Eclipseのデバッガーを使用して、RoboGuice内のどこにコードがハングしているように見えるかを確認できるようになりました。

次のコードは、InjectorImplクラスからのものです。

}

そこで、デバッガーを使用してGuice 3.0コードを掘り下げ、FailableCacheクラスを掘り下げました。

}

これは、マップからキーを取得しているときにハングするだけである可能性がありますか?私はコードに精通しておらず、トラブルシューティングするのはかなり混乱しています。アドバイスをいただければ幸いです。

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

java - Scala+Android+Roboguice: ローダーの ClassNotFoundException

NotesList デモから始めて、Android で Scala を評価しています。NotesLiveFolder.javaファイルを Scala に相当するものに問題なく置き換えることができました。

次に、Roboguice を導入NotesListApplication.javaし、Guice モジュールをセットアップする単純なものを作成し、NoteEditor.javaアクティビティにリソースを正常に注入しました。

最後に、同等の Scala に置き換えようとするとNotesListApplication.java、アプリケーションの起動が完了する前に次のランタイム エラーが発生します。

java.lang.ClassNotFoundException: com.example.android.notepad.NotesListApplication in loader dalvik.system.PathClassLoader[/data/app/com.example.android.notepad-1.apk]

完全な Eclipse プロジェクトとソースを含むGoogle Code プロジェクトを作成しました。元の機能NotesListApplication.javaは次のとおりです。

エラーの原因となるScalaの同等物は次のとおりです。

ScalaIDE プラグインを使用して Eclipse でビルドしています。私はtreeshaker/proguard/etcを実行していません。

逆アセンブリは、期待どおりの Scala クラスを示しています。

Class descriptor : 'Lcom/example/android/notepad/NotesLiveFolder;'

...

Class descriptor : 'Lcom/example/android/notepad/NotesListApplication;'

これを引き起こす可能性のあるアイデアはありますか?

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

android - Roboguice、ADT 14以降、およびAndroidライブラリプロジェクト

Roboguiceは、定型的なAndroidビューコードを整理するためのすてきな小さなツールです。

アノテーションを使用するのが好きだった@InjectViewので、次のようにアクティビティのonCreate()メソッドのすべてのビューフィールドを初期化する必要がありませんでした。

ADT 14以降のライブラリプロジェクトに対するGoogleの抜本的な変更の一環として(全体としては歓迎すべき改善です)、生成されたRクラスのidフィールドは最終的なものではなくなりました。

したがって、ライブラリプロジェクト内でRoboguiceを使用する場合、注釈はコンパイル時に処理され、最終的なもの@InjectViewではなくなるため、注釈はコンパイルされなくなります。R.id.title

バマー...

Roboguiceを使用していて、創造的な回避策を持っている人は他にいますか?

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

android - 制御の反転新しいオブジェクトの作成

特にAndroidを使用して制御の反転を始めていますが、質問がありGuiceます。RoboGuice

リソース(基本的にはXMLまたはJSON文字列)を返すメソッド呼び出しがあります。

Resourceクラスは実際にはラップされているだけなので、オブジェクトStringの重要な部分であるため、コンストラクターに渡すのが理にかなっていると思いました。Resource

いくつかの質問:

  1. 通話Resourceで新しいものを作成するにはどうすればよいですか?メソッドgetResourceを呼び出さずにIoCを使用したいと思います。new
  2. 別のクラスがコンストラクターを使用する場合、構築時にダイナミックが必要なときに、コンテナーResourceを使用してコンテナーを構築するにはどうすればよいですか?私はちょうど同様の質問 をしましたが、を使用してこれを処理する特定の方法があるかもしれないと信じています。 GuiceStringGuice

本当にありがとう!

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

android - Roboguice鉄腕アトムの例を機能させることができません

Roboguiceを機能させるために何時間も費やしましたが、成功しませんでした。私の最近の取り組みは、Astroboyの例を機能させることを試みましたが、(最終的には)デプロイした後に問題が発生しました。

これは私の実行したステップの要約です:

  1. ApacheMaven3のクリーンコピーをインストールしました
  2. Android SDKのクリーンコピーをインストールし、利用可能なすべてのプラットフォームをダウンロードしました
  3. Maven Android SDK Deployerをインストールして実行し、すべてのアーティファクトがダウンロードされるようにしました。
  4. Astroboyの例のクローンをダウンロードしました
  5. roboguiceとastroboyをビルドするためにmvncleaninstallを実行しました。プラットフォーム9をダウンロードしていなかったため、テストに失敗しました。廃止されたAPIと思われるものを参照している理由がわからないため、このコマンドを実行して、廃止されたAPIもダウンロードしました。androidupdate sdk --no-ui --obsolete --force
  6. mvn clean installを再度実行し、今回は正常にビルドされました
  7. mvn android:deployおよびandroid:runを実行しました。この警告を除いて成功しました:

    [警告][警告]org.roboguice:astroboy:apk:2.0の効果的なモデルの構築中にいくつかの問題が発生しました-SNAPSHOT[警告]'parent.relativePath'はorg.roboguice:roboguice-aggregator ins teadoforg.sonatypeを指します.oss:oss-parent、プロジェクト構造を確認してください@行104、列13[警告][警告]これらの問題はビルドの安定性を脅かすため、修正することを強くお勧めします。[警告][警告]このため、将来のMavenバージョンでは、このような不正な形式のプロジェクトのビルドがサポートされなくなる可能性があります。[警告]

  8. アプリケーションを実行して、今すぐこのエラーを取得します。

    /li>

誰かがこの問題で私を助けることができますか?私はすべての指示に従いましたが、現在の問題が何であるかわかりません。

ありがとう