gpt4 book ai didi

kotlin - 我将如何为模块提供动态 token ?

转载 作者:行者123 更新时间:2023-12-02 12:59:10 24 4
gpt4 key购买 nike

我正试图围绕 Dagger2。我无法理解如何为整个应用程序共享的依赖项提供参数。这是我想出的(这些只是我正在使用的虚拟类,因此我可以理解这些概念):

class Token(val token: String)

class File @Inject constructor(@param:Named("token") val token: Token)

@Component(modules = arrayOf(SessionModule::class))
interface SessionManager {
fun file(): File
}

@Module
class SessionModule {
@Provides @Singleton fun provideToken(token: String) = Token(token)
}

事情是这样的:

我要 provideToken成为单例,以便始终为请求 session 的人提供相同的 token 。但如果需要,我也希望能够更新 token 。我该怎么做?我想过创建一个静态变量来保存 SessionModule 中的 token 。类,但我认为这会很快导致意大利面条代码。

最佳答案

恕我直言,你不应该那样做,不要注入(inject)动态的东西。像 String , List<String>不应该被 Dagger 注入(inject)。 Dagger 用于注入(inject)静合作东西。

您可以将 token 保存在内存中或 SharePreference无论你喜欢什么,但通过 Dagger 。

关于kotlin - 我将如何为模块提供动态 token ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52100977/

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