35得票4回答
Dagger + Retrofit. 在运行时添加身份验证头信息。

我在想是否有一种方法可以让Dagger知道当新数据可用时应该重新创建对象。 我所说的实例是关于我使用Retrofit的请求头。在某个时刻(当用户登录时),我会获得一个令牌,需要将其添加到Retrofit的请求头中以进行身份验证请求。问题是,我仍然得到相同未经身份验证版本的Retrofit。以...

8得票1回答
Dagger 2中的单元测试中的字段注入

如Dagger文档所建议的,对于单元测试,我们不必涉及Dagger,并且对于提供的示例,这是有道理的: class ThingDoer { private final ThingGetter getter; private final ThingPutter putter; @...

20得票4回答
Android Dagger2 + OkHttp + Retrofit 依赖循环错误

嘿,我正在使用 Dagger2、Retrofit 和 OkHttp,但遇到了依赖循环问题。在提供 OkHttp 时:@Provides @ApplicationScope OkHttpClient provideOkHttpClient(TokenAuthenticator auth,Disp...

9得票1回答
Dagger应用组件必须设置。

我需要从ApplicationModule暴露我的OkHttpClient,因此我添加到了ApplicationComponent中。类似这样: @Module public class ApplicationModule { @Provides @Singleton pu...

10得票1回答
使用Dagger2时创建测试依赖项

在阅读 Dagger 2 的文档时,我无法找到一种简单的方法来在为应用程序进行测试时提供依赖项。我找到的唯一线索是这个: Dagger 2 不支持覆盖。为了进行简单测试伪造而覆盖的模块可以创建一个模块的子类来模拟这种行为。使用覆盖并依赖依赖注入的模块应该被分解,以便覆盖的模块代替两个模...

12得票2回答
为什么我仍然会收到“无法将使用JVM目标1.8构建的字节码内联到正在使用JVM目标1.6构建的字节码中”的错误信息?

我正在使用 Kotlin 和 Dagger 2 开发一个 Android 项目。我有一个 NetworkModule,它应该提供 Retrofit 的单例实例。在其中我定义了所有这些提供程序函数。 下面的所有代码片段都在 NetworkModule 中:@Module object Netwo...

17得票2回答
只在构造函数中注入特定参数。

我有演示者。 class PhonePresenter @Inject constructor( private val preference: DataPreference, private val ioScheduler: Scheduler = Schedulers.i...

24得票2回答
@Singleton和static @Provides在dagger2中的区别

请问在dagger2中,@Singleton和static Provides有何区别?@Provides static User currentUser(AuthManager authManager) { return authManager.currentUser(); } @P...

16得票2回答
Hilt是否替代Dagger2?

深入了解Google的DI框架Dagger2,以决定在中等规模的应用程序中使用哪个DI框架时,我也注意到了Hilt。 因此根据其概述描述: Hilt通过为您生成代码来生成Dagger设置代码。这消除了使用Dagger的大部分样板文件,只留下定义如何创建对象和在哪里注入它们的方面。Hilt将...

15得票3回答
我应该在单例类中处理可处理的内容吗?(Android RxJava 2)

在单例类中当我subscribe({})一个Observable时,是否需要在某个时刻调用.dispose()方法?如果是的话,何时何地调用?因为单例将一直存在直到应用程序结束。 类似这样(Kotlin):@Singleton class MySingletonClass @Inject co...