Kotlin作为多平台依赖问题

时间:2019-04-12 16:36:20

标签: java android kotlin multiplatform kotlin-extension

我正在使用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)
    }
}

1 个答案:

答案 0 :(得分:0)

是正确的。 Kotlin本机尚未提供retrofit的变体。 ktor-client是一个很好的选择。

This is a very nice article关于Kotlin多平台项目并演示了ktor-client

RxJava而言,顾名思义,该框架仅针对Java(和某些基于JVM的语言)实现。 RxKotlin/ Reaktive之类的Kotlin原生语言正在做出巨大努力,但目前尚无任何产品(被广泛接受)。