查看一些示例,我能够使用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();
}