小编Har*_*ang的帖子

如何在 okhttp 拦截器中使用 jectpack 数据存储?它需要一个上下文对象

我想在 Interceptor 中添加一个令牌来请求标头。但现在我不知道我应该做什么。

\n

这是我的数据存储

\n
\nval Context.dataStore: DataStore<Preferences> by preferencesDataStore(name = "settings")\n\nclass SettingsManager(context: Context) {\n    private val dataStore = context.dataStore\n\n    val getToken = dataStore.data\n        .catch {\n            if (it is IOException) {\n                it.printStackTrace()\n                emit(emptyPreferences())\n            } else {\n                throw it\n            }\n        }.map { preference ->\n            preference[token] ?: ""\n        }\n\n    suspend fun setToken(tokenStr: String) {\n        dataStore.edit { preferences ->\n            preferences[token] = tokenStr\n        }\n    }\n\n    companion object {\n        val token = stringPreferencesKey("token")\n    }\n}\n
Run Code Online (Sandbox Code Playgroud)\n

我无法获取拦截器 \xe3\x80\x82 中的上下文对象

\n

所以我尝试使用刀柄来修复它

\n
class RequestInterceptor(private val …
Run Code Online (Sandbox Code Playgroud)

android datastore kotlin android-jetpack dagger-hilt

8
推荐指数
1
解决办法
1316
查看次数