Uygulamanın Context
diğer 2 nesneye, AuthManager
ve ApiClient
içine enjekte etmeye çalışıyorum.Hançer 2 - Bu neden bağımlılık döngüsü?
Her ikisi de, söz konusu içeriğe bağlıdır ve ApiClient
, AuthManager
'a bağlıdır. Context
'un diğerlerine 2 referansı yoksa, bu neden bağımlılık döngüsüdür? Bu çözülebilir mi?
DÜZENLEME
: Burada bazı kod birAuthManager
bir
AuthManager
bağlıdır sağlar
@Module
public class AppModule {
private final Application application;
public AppModule(Application application) {
this.application = application;
}
@Provides @Singleton
Context provideApplicationContext() {
return this.application;
}
}
@Module
public class NetworkModule {
@Provides @Singleton
public AuthManager providesAuthManager(AuthManager manager) {
return manager;
}
@Provides @Singleton
public ApiClient providesApiClient(ApiClientFactory factory) {
return factory.create();
}
}
@Singleton
@Component(modules = {AppModule.class, NetworkModule.class})
public interface ApplicationComponent {
void inject(BaseActivity activity);
// Exported for child-components
Context context();
ApiClient apiClient();
AuthManager authManager();
}
Bu soruya aldığınız hata mesajlarını eklemenize yardımcı olur. Bu durumda, hata mesajını yanlış şekilde yorumladınız, bu da bize yardım etmemizi zorlaştırıyor :) – nhaarman
Anladım. Kahve makinesi örneğini yanlış anladım, “AuthManager” ı yerel bir param olarak yerleştirerek, hançer ona otomatik enjekte edecekti. "Bağlamı" yerel param olarak belirlemek doğru yol gibi görünüyor. Teşekkürler :) –
Bu yanıt, bir sağlama yöntemini iki kez kontrol etmemi ve basit bir yazım hatası nedeniyle bir şeyleri takip etme çabalarını kaydetmemi sağladı. Teşekkürler! – user3265561