Kotlin多平台和Firestore集成

ha5z0ras  于 2023-08-06  发布在  Kotlin
关注(0)|答案(1)|浏览(109)

我试图构建一个Kotlin多平台应用程序,在React Native无法理解的错误消息严重受挫后。
我已经能够遵循Kotlin指南,并且对这一过程感到非常满意。但是现在,我试图获取我在firestore中的数据,只是重新调整一个基本项目。
编辑:我后来继续前进,发现dev.gitlive做了一个firestoreKotlin的第一个SDK:https://github.com/GitLiveApp/firebase-kotlin-sdk
但是我不能理解或者找到一个关于如何实际使用这个库的指南。
我的问题是,我已经添加了firestore作为一个依赖,但我似乎不能正确导入firebase实际使用它。
我的build.gradle.kts包含:

sourceSets {
    val commonMain by getting {
        dependencies {
            implementation("org.jetbrains.kotlinx:kotlinx-datetime:0.4.0")
            implementation("org.jetbrains.kotlinx:kotlinx-coroutines-core:1.6.4")
            implementation("io.ktor:ktor-client-core:$ktorVersion")
            implementation("io.ktor:ktor-client-content-negotiation:$ktorVersion")
            implementation("io.ktor:ktor-serialization-kotlinx-json:$ktorVersion")
            implementation("org.jetbrains.kotlin:kotlin-stdlib-common")
            implementation("com.google.firebase:firebase-bom:28.4.1")
            implementation("com.google.firebase:firebase-firestore-ktx:21.4.0")
        }
    }

字符串
当把它导入到我的commonMain代码中时,我可以这样做:

import com.google.firebase.*

import com.google.firebase.ktx.*


但我做不到:import com.google.firebase.Firebase

import com.google.firebase.ktx.Firebase


因为firebase部分将以红色突出显示,就好像它是一个不正确的导入。即使去掉它,只执行import all命令,也找不到firebase功能/类。
Google Docs forKotlin+KTX:

dependencies {
// Import the BoM for the Firebase platform
implementation platform('com.google.firebase:firebase-bom:31.2.3')

// Declare the dependency for the Cloud Firestore library
// When using the BoM, you don't specify versions in Firebase library dependencies
implementation 'com.google.firebase:firebase-firestore-ktx'
}


也不起作用,因为它抱怨说:

Could not find com.google.firebase:firebase-firestore-ktx:.
     Required by:
         project :shared


任何帮助/指导将非常感谢。

qyswt5oh

qyswt5oh1#

Firebase本身还不支持Kotlin多平台。这就是为什么将其添加到commonMain依赖项不起作用的原因。如果你想在这两个平台上都使用Firebase,你必须自己动手,把expect/actual和你的目标平台拼接起来。Gitlive Firebase为你做到了这一点,这就是Gitlive在你的项目中工作的原因。

相关问题