我正在使用Kotlin编写用于多平台的实验项目。我通过使用RXjava和改造编写了一些常见的逻辑。一共有三个文件夹 Kotlin [commonMain] Kotlin [androidMain] Kotlin [iosMain]
该代码在Kotlin [androidMain]文件夹中可以正常工作。当我搬到Kotlin [commonMain]时,Class无法重新设计改造和RX库。
是因为Kotlin多平台无法编译Rx和翻新库吗?
还是我做错了什么。
请任何人都可以向我解释。
园艺,
**import okhttp3. unalbe to resolve***
**import okhttp3.Response unable to resolve**
class AuthorizationInterceptor(private val authorization: Authorization) : Interceptor{
override fun intercept(chain: Interceptor.Chain): Response {
var accessToken = authorization.getCachedToken()
val request: Request =
chain.request().newBuilder().addHeader("Authorization", "%s , %s , %s".format(accessToken))
.build()
return chain.proceed(request)
}
}
答案 0 :(得分:0)
是正确的。 Kotlin本机尚未提供retrofit
的变体。 ktor-client是一个很好的选择。
This is a very nice article关于Kotlin多平台项目并演示了ktor-client
。
就RxJava
而言,顾名思义,该框架仅针对Java(和某些基于JVM的语言)实现。 RxKotlin/ Reaktive之类的Kotlin原生语言正在做出巨大努力,但目前尚无任何产品(被广泛接受)。