Я пишу экспериментальный проект для мультиплатформы с использованием 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)
}
}
Это правильно. Существует не вариант retrofit
(пока) для родного kotlin. Ktor-клиент очень хорошая альтернатива, хотя.
Это очень хорошая статья о мультиплатформенном проекте ktor-client
демонстрирующая ktor-client
.
Что касается RxJava
, как следует из названия, платформа реализована только для Java (и некоторых языков на основе JVM). В настоящее время предпринимаются значительные усилия для таких родных котлинов, как RxKotlin/Reaktive, но ничего (широко приемлемого) еще не готово к производству.