問題タブ [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 に答える
667 参照

android - 多くの依存関係を持つプロジェクトに VPI を追加すると、3.0 より前のデバイスでエラーが発生する

私は最近 eclipse から intellij に切り替えました。これまでのところ素晴らしい経験であり、とても気に入っています。しかし、壁に頭をぶつけているという奇妙な問題に遭遇しました。ViewPagerIndicator、ActionBarSherlock、RoboSherlock、RoboGuice、およびアプリケーションで他の一般的なフレームワークを使用しようとしています。VPI を追加するまで、すべて正常に動作します。

基本的に、ViewPagerIndicator 依存関係をプロジェクトに追加すると、3.0 より前のデバイスのアプリケーションが壊れます (3.0 以降では正常に動作します)。

VPI apklib が存在するときに ABS 互換のテーマが選択されていないように見えるため、このエラーはやや混乱しています (マニフェストで ABS 互換のテーマを使用していることに注意してください)。

トレースをさらに詳しく見ると、以下が表示されます (シャーロック テーマを使用している場合でも)。

完全な例外スタック トレースと activity/manifest/pom.xml コード @ https://gist.github.com/3743646を参照してください。

繰り返しますが、これは、VPI プロジェクトを Maven 依存関係として追加する場合に、3.0 より前のデバイスでのみ発生します。VPI を削除すると、アプリは 2.2 以降のデバイスで正常に動作します。

私の Pom.xml は、私の知る限り、2.2 以降で正常に動作する Android Bootstrap アプリケーションとほとんど同じです。

私の推測では、私は何らかの依存関係の構成の問題を抱えていると思います。私は maven と intellij にかなり慣れているので、トラブルシューティングは非常に困難でした。

他の誰かがこの動作を見たことがあるのか​​、それとも私が初歩的なミスを犯しているのかはわかりません。問題が解決したら、この質問を回答で更新します。

事前に皆さんに感謝し、この投稿でスタックオーバーフローのエチケットを破った場合は申し訳ありません.

編集: 潜在的な関連する問題が見つかりました @ http://youtrack.jetbrains.com/issue/IDEA-90719

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

android - Roboguice でコンテキスト シングルトンを操作する方法

@ContextSingletonコンテキストへの注入に依存するシングルトンをマークするために使用しています。Applicationしかし、RoboGuice のソースと私自身のテストを見ると、コンテキストと異なるアクティビティ コンテキストとの間に違いがあるように見えます。これは完全に理にかなっていますが、少なくとも私にとっては、次のようなイベント管理機能と一緒に使用すると問題が発生するということだけです。

サービスはシングルトンとして定義されていますが、明らかに遅延読み込みによって最初にどこかに注入されるまで、そのインスタンスは作成されないようです。したがって、 aMyEventを起動しても、リスナーは呼び出されません。次に、アプリケーションで事前にクラスを「手動で」eager-load できると考えました。

したがって、リスナーを登録しますが、これは後でイベントを発生させるために を注入したアクティビティ内でEventManager実行された場合にのみ適切に機能しましたが、アプリケーションでは機能しませんでした。

したがって、理想的な世界では、次のように、シングルトンをどのコンテキストにバインドする必要があるかを RoboGuice に伝えることができると期待しています。

しかし、明らかにこれは不可能です。

私は何が欠けていますか?

0 投票する
0 に答える
378 参照

android - 画面の向き変更時の RoboService 例外

ハイ、

のサービスにバインド/バインド解除するア​​クティビティがありますOnStart()/OnStop()。電話を水平に持ったままリスト (ブラウザーで開く) からリンクを開くと、アプリケーションがクラッシュします。

アクティビティはマニフェストでポートレート モードに制限されており、singleTop.

次のエラーが表示されます。

方向が変更されたときにサービスがまだバインドされていると、アプリがクラッシュすることに気付きました。

私の質問:

  1. RoboGuice 2.0 にバグはありますか、それとも私の使い方が間違っているのでしょうか?
  2. 向きが変わる前にサービスのバインドを解除する方法はありますか?
  3. 別のアクティビティのバインド/バインド解除がOnCreate()/OnDestroy()あり、アクティビティが破棄されるまでそのバインドを保持したい場合、これらの状況ではどうすればよいですか?
0 投票する
1 に答える
342 参照

android - Android、getInjector()。getInstanceを置き換えるために必要なRoboGuiceヘルプの削除

私はサードパーティのアプリに取り組んでおり、RoboGuiceを削除する必要があり、さまざまなgetInjectorメソッドをAndroidコードに置き換えるために何をする必要があるかを知る必要があります。

これは、Helperクラスのインスタンスを設定し、アクティビティのonCreateで初期化する場合にすぎませんか?

また、交換するためにどのように/何をする必要があるかを知る必要があります

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

android - JUnit テストで Roboguice が機能しない

ロボギースを使用するクラスでいくつかのテストを作成しようとしています。残念ながら、guice は何も注入していないようです。

私の設定はそうです...

  • Intellij を使用しています
  • 2 つの intellij モジュールがあります (コード用に 1 つ、テスト用に 1 つ)
  • バインディングを定義する AbstractModule(roboguice クラス) を拡張する 2 つの個別のモジュール クラスがあります。
  • このようなパッケージを指す2つのroboguice.xmlファイルがあります...

この設定は正しいと思いますか? 注入されたクラスは、現時点では null です

0 投票する
0 に答える
342 参照

android - 循環依存を解決するRoboGuice

アプリの循環依存に問題があるようです。私はすべてのクラスをテストしましたが、それらはうまく機能しますが、アプリの実行時にそれらをインスタンス化することはできません。

問題の根本はこのクラスにあります

このクラスはhttpClientを提供し、インターセプターを追加します。インターセプターは、このプロバイダーがこのクラスのhttpclientをプロバイダーするために使用されているように見えます

問題が発生するのは、ユーザーが認証されていない場合、httpResponseInterceptorもServerCommunicatorクラスを使用してサーバーに要求を送信するためです。

これを解決する方法は?

0 投票する
0 に答える
162 参照

android - RoboGuice2.0 ArrayIndexOutOfBoundsException

RoboGuice2.0 を使用していくつかのモジュールを注入すると、次のような ArrayIndexOutOfBoundsException が発生します

このように setBaseApplicationInjector を使用しました。

おそらく、RoboGuice2.0 のソースコードで List に何かを追加したときに発生したと思われます。私の使用法は正しいのか、この問題の解決策なのだろうか。

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

android - RoboGuice2.0およびRobolectric1.1のRoboAsyncTaskのテスト

現在、AndroidアプリケーションでRoboGuice2.0とRobolectric1.1の両方を使用しています。RoboLooperThreadが2.0でなくなっており、RoboAsyncTaskを呼び出すのに問題があることに気づきました。メインのテストスレッドが.execute()を呼び出すときRoboAsyncTask、RoboAsyncTaskのcall()メソッドが呼び出されることはありません。私の質問は、タスクを実行できるように、テストスレッドをUIスレッドとの間で切り替えるように強制するにはどうすればよいですか?

ありがとう、

ヴィンス

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

android - Android ネイティブ フラグメントとロボギー サポート v4 ライブラリ フラグメント

アクティビティによって拡張される XML レイアウト ファイルがあります。

Activity は FragmentActivity (v4 ライブラリから) のサブクラス (直接ではない) です。

さて、com.xyz.fragments.TabFragment には、次のクラス宣言があります。

実行中にアプリがクラッシュし、adb logcat に次のエラーが表示されます。

したがって、22行目はxmlレイアウトのこの行とまったく同じです

赤い下線が引かれています...そして、TabFragmentはandroid.app.fragmentに割り当てられないと言われています

わかりました。サポート ライブラリ v4 の roboguice の FragmentList を使用していますが、android.app.fragment とは異なります。

それで、なにかお手伝いできますか?これがアプリがクラッシュした理由だと思います。

以下の完全なスタック トレース

0-25 20:59:54.535: INFO/ApplicationPolicy(1903): isApplicationInstallationEnabled: pkg com.xyz 10-25 20:59:55.455: INFO/PackageManager(1903): 非システム パッケージの削除: com.xyz 10-25 20:59:55.455: INFO/ActivityManager(1903): 強制停止パッケージ com.xyz uid=10017 10-25 20:59:55.610: INFO/PackageManager(1903): ICS_DEBUG scanPackageLI が com.xyz 10-25 20:59 に入力されました:55.610: INFO/PackageManager(1903): com.xyz 10-25 20:59:55.615 の ICS_DEBUG チェック: INFO/PackageManager(1903): dexopt を実行中: com.xyz 10-25 20:59:58.390: INFO/ ActivityManager(1903): パッケージの強制停止 com.xyz uid=10017 10-25 20:59:59.305: DEBUG/PackageManager(1903): /data/app/com.xyz-2.apk にインストールされた新しいパッケージ 10-25 20 :59:59.705: INFO/ActivityManager(1903): 強制停止パッケージ com.xyz uid=10017 10-25 20:59:59.875: DEBUG/Launcher.LauncherModel(2152): --> package:com.xyz 10-25 21:00:00.050: INFO/SocialHub(6289): [UinboxReceiver] onReceive() >> インテント.getData(): com.xyz 10-25 21:00:00.345: DEBUG/Launcher.LauncherModel(2152 ): --> 更新パッケージ com.xyz 10-25 21:00:00.345: DEBUG/Launcher.LauncherModel(2152): --> パッケージ:com.xyz 10-25 21:00:00.640: INFO/DebugDb(2152 ): アプリ情報を更新 -1 com.sec.android.app.twlauncher.ApplicationInfo xyz -1 4 15 75|-1|-1|-1|-1|0 com.sec.android.app.twlauncher.ApplicationInfo@ 421323f0 10-25 21:00:01.675: INFO/ActivityManager(1903): pid 7524 10-25 21:00:01.775 から {flg=0x10000000 cmp=com.xyz/.TabActivity} を開始: INFO/ActivityManager(1903):アクティビティ com.xyz/.TabActivity の proc com.xyz を開始します: pid=7536 uid=10017 gids={3003} java.lang.RuntimeException: アクティビティ ComponentInfo{com.xyz/com.xyz.TabActivity} を開始できません: android. view.InflateException:バイナリ XML ファイルの 22 行目: com.xyz.TabActivity.onCreate(TabActivity.java:25) 10-25 21:00:24.225 でクラス フラグメントを拡張する際にエラーが発生しました: INFO/ActivityManager(1903): プロセス com.xyz (pid 7536)死亡しました。

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

android - Android Roboguice Robo Classを拡張する目的は何ですか?

私は roboguice を初めて使用します。彼らのドキュメントを見てきたので、言う代わりに「はい」という考えが浮かびました。

しかし、RoboAcitivy や RoboFragment などのクラスを拡張する目的は何ですか? つまり、それの利点は何ですか?まだ見えません。

こんにちは