1

いくつかの例を見ると、アクティビティとフラグメントに対して 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();
}
4

0 に答える 0