いくつかの例を見ると、アクティビティとフラグメントに対して Dagger 2.11 を使用できましたが、Retrofit + RxJava を使用して Webservice への呼び出し用のモジュールを作成するときに進歩がありません。繰り返しの質問で申し訳ありませんが、ここで解決策が見つかりませんでした。
以下の私のアプリケーションコードに従ってください:
App.java
public class App extends Application implements HasActivityInjector {
@Inject
DispatchingAndroidInjector<Activity> activityDispatchingAndroidInjector;
@Override
public void onCreate() {
super.onCreate();
DaggerAppComponent.builder().create(this).inject(this);
if (BuildConfig.DEBUG) {
Timber.plant(new Timber.DebugTree());
} else {
Fabric.with(this, new Crashlytics());
Timber.plant(new FirebaseCrashReportingTree());
}
}
@Override
public AndroidInjector<Activity> activityInjector() {
return activityDispatchingAndroidInjector;
}
}
AppComponent.java
@Singleton
@Component(modules = {
AppModule.class})
interface AppComponent extends AndroidInjector<App> {
@Component.Builder
abstract class Builder extends AndroidInjector.Builder<App> {
}
}
AppModule.java
@Module(includes = {AndroidInjectionModule.class})
abstract class AppModule {
@Binds
@Singleton
abstract Application application(App app);
@PerActivity
@ContributesAndroidInjector(modules = MainActivityModule.class)
abstract MainActivity mainActivityInjector();
}