gpt4 book ai didi

android - Dagger 2 - 为什么这是一个依赖循环?

转载 作者:IT老高 更新时间:2023-10-28 22:05:11 26 4
gpt4 key购买 nike

我正在尝试将应用程序的 Context 注入(inject) 2 个其他对象,一个 AuthManager 和一个 ApiClient

它们都依赖于所说的上下文,而 ApiClient 依赖于 AuthManager。如果 Context 没有对其他 2 的引用,为什么这是一个依赖循环?可以解决吗?

编辑:这是一些代码

@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();
}

最佳答案

@Provides @Singleton
public AuthManager providesAuthManager(AuthManager manager) {
return manager;
}

提供 AuthManagerprovidesAuthManager 方法依赖于 AuthManager

这是你的周期:)

关于android - Dagger 2 - 为什么这是一个依赖循环?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32744384/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com