【问题标题】:Kotlin as multi platform dependency issueKotlin 作为多平台依赖问题
【发布时间】:2019-04-12 16:36:19
【问题描述】:

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

【问题讨论】:

  • @Onik 谢谢,只有一个模块。模块有三个文件夹 /flavour。每种风味都有自己的依赖性。 build.gradle 中的依赖仅适用于 mainandroid。不适用于 maincommon。

标签: java android kotlin multiplatform kotlin-extension


【解决方案1】:

没错。对于 kotlin 本机,没有可用的 retrofit 变体。 ktor-client 是一个很好的替代品。

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

至于RxJava,顾名思义,该框架仅针对Java(和一些基于JVM 的语言)实现。 kotlin-native 正在做出相当大的努力,例如 RxKotlin/ Reaktive,但目前还没有(广泛接受的)生产准备就绪。

【讨论】:

    猜你喜欢
    • 2020-12-01
    • 1970-01-01
    • 2021-03-30
    • 2020-04-30
    • 2021-11-18
    • 2021-12-27
    • 2020-04-30
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多