-2
私はメソッドに依存性の注入を持っていて、それはかなり遅いです 私は依存関係を非同期に注入しようとしましたが、正しく動作しません。 は、私はそれが「STEP1」 をログ出力しますが、私は、私はいくつかの小さな変更をした私の問題を解決 しても、これを見て持ってきたなぜDagger2の非同期依存関係注入が機能していないのですか?
@Singleton
@Provides
fun apiDaysSeResource(retrofit: Retrofit): Observable<ApiDaysSeResource{
return Observable.create(ObservableOnSubscribe<ApiDaysSeResource> {
retrofit.create<ApiDaysSeResource>(ApiDaysSeResource::class.java)
}).subscribeOn(Schedulers.io())
.observeOn(AndroidSchedulers.mainThread())
}
public interface ApiDaysSeResource {
@GET("dagar.json?")
Single<FeaturedCalendar> days(@Query("fran") String fran, @Query("till") String till, @Query("key") String key, @Query("id") String id);
}
@Singleton
@Provides
fun vacationRepository(apiDaysSeResource: Observable<ApiDaysSeResource>): VacationRepository {
return VacationRepository(apiDaysSeResource)
}
class VacationRepository(private val apiDaysSeResource: Observable<ApiDaysSeResource>) {
fun featuredCalendar(from: String, till: String, key: String, id: String): Flowable<FeaturedCalendar> {
Log.i("time_test", " step1")
return apiDaysSeResource.flatMapSingle { apiDaysSeResource ->
Log.i("time_test", " step2")
apiDaysSeResource.days(from, till, key, id)
}.toFlowable(BackpressureStrategy.BUFFER)
}
}
Dagger2サポート非同期噴射は、https://google.github.io/dagger/producers.htmlを見てみましょう –