タグ付けされた質問 「dagger」

4
Dagger 2サブコンポーネントとコンポーネントの依存関係
Dagger 1のplus()方法は、以前のアプリケーションでかなり頻繁に使用したものであるため、親グラフバインディングへの完全なアクセス権を持つサブコンポーネントが必要になる状況を理解しています。 どのような状況で、サブコンポーネントの依存関係の代わりにコンポーネントの依存関係を使用することが有益ですか?なぜですか?
135 dagger  dagger-2 

1
Kotlinで「代わりに、そのクラスでダガープロセッサを実行することをお勧めします」
Kotlinクラスにインジェクトするたびに、ビルドでこのメモが表示されます(ところで、kotlinとjavaの両方が混在するAndroidプロジェクトがあります)。 たとえば、このGradleタスクの後compileStagingDebugJavaWithJavac(StagingDebugは私のビルドバリアントです)、次のメッセージが表示されます。 「注:com.packageNameXXX.CourseDiscoveryMapFragmentのMembersInjectorまたはFactoryを生成しています。代わりに、そのクラスに対して短剣プロセッサを実行することをお勧めします。」 私のCourseDiscoveryMapFragmentコードはここにあります: class CourseDiscoveryMapFragment : Fragment(){ @Inject lateinit var presenter: CourseDiscoveryMapPresenter lateinit var mapView: MapView override fun onCreateView(inflater: LayoutInflater, container: ViewGroup?, savedInstanceState: Bundle?): View? { val view = inflater.inflate(R.layout.fragment_discovery_map, container, false) MapsInitializer.initialize(activity) mapView = view.mapView mapView.onCreate(savedInstanceState?.getBundle(BUNDLE_KEY_MAP_STATE)) (activity as BaseActivity) .activityComponent.inject(this) } そして私のActivityComponentは: @ActivityScope @Subcomponent(modules = ActivityModule.class) public interface …
124 android  kotlin  dagger 

2
AndroidプロジェクトでDAGGER依存性注入を最初からセットアップする方法は?
ダガーの使い方は?Androidプロジェクトで機能するようにDaggerを構成するにはどうすればよいですか? AndroidプロジェクトでDaggerを使用したいのですが、混乱します。 編集:Dagger2も2015年4月15日からリリースされており、さらに混乱しています! [この質問は「スタブ」であり、Dagger1についてさらに学び、Dagger2についてさらに学びながら、私は私の答えに追加しています。この質問は、「質問」というよりはガイドにすぎません。]

5
短剣-各アクティビティ/フラグメントの各コンポーネントとモジュールを作成する必要があります
私はしばらくの間dagger2を使用しています。そして、アクティビティ/フラグメントごとに独自のコンポーネント/モジュールを作成するかどうか混乱しました。これを明確にするのを手伝ってください: たとえば、アプリがあり、そのアプリには約50の画面があります。MVPパターンとDagger2forDIに従ってコードを実装します。50のアクティビティと50のプレゼンターがいるとします。 私の意見では、通常、次のようにコードを整理する必要があります。 アプリが開いている間に使用されるすべてのオブジェクトを提供するAppComponentとAppModuleを作成します。 @Module public class AppModule { private final MyApplicationClass application; public AppModule(MyApplicationClass application) { this.application = application; } @Provides @Singleton Context provideApplicationContext() { return this.application; } //... and many other providers } @Singleton @Component( modules = { AppModule.class } ) public interface AppComponent { Context getAppContext(); Activity1Component …
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.