簡體   English   中英

Dagger 2.11在OkHttp Authenticator中注入

[英]Dagger 2.11 Injecting in OkHttp Authenticator

我一直在使用匕首2.11 AndroidInjection沒問題,直到我嘗試將Ok身份驗證器中的Retrofit服務注入以處理會話超時。

AndroidInjection僅允許在Activity,Fragments,Services,ContentProviders和BroadcastReceicers中進行注入。

我的問題是,如何在上面未列出的類中使用新的Dagger AndroidInjection?

只需使用inject來提供翻新,在您提供的同一模塊中,還提供翻新使用的okhttp

@Singleton
@Provides
OkHttpClient providesOkHttpClient(){
    return new OkHttpClient.Builder()
            .connectTimeout(RETROFIT_API_CONNECTION_TIMEOUT_SECONDS, TimeUnit.SECONDS)
            .readTimeout(RETROFIT_API_CONNECTION_TIMEOUT_SECONDS, TimeUnit.SECONDS)
            .writeTimeout(RETROFIT_API_CONNECTION_TIMEOUT_SECONDS, TimeUnit.SECONDS)
            .build();
}

@Singleton
@Provides
Retrofit providesRetrofit(OkHttpClient client){
    return new Retrofit.Builder()
                    .baseUrl(baseUrl)
                    .client(client)
                    .build();
}

然后在您的課程中:

public class MyClass {
   Retrofit mRetrofit;

   @Inject 
   public MyClass(Retrofit retrofit){
      mRetrofit = retrofit;
   }
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM