4

对于多平台项目,我考虑Kotlin/Native,希望至少在业务逻辑和数据保存方面有一个通用的代码库。

为了保存数据,我想使用 SQLite 之类的数据库。但是,根据另一个 stackoverflow 线程,如果我想编译为 Kotlin/Native,我不能使用任何 Java 文件。如果我理解正确,这也意味着我包含的任何 SQLite 库都不允许从 Java 导入。

在搜索这样的库时,我发现了 Jetbrain 的两个有趣的数据库项目,即Anko SQLiteExposed。然而,在挖掘他们的源代码时,在撰写本文时,两者都是从 Java 导入的(例如 java.sql)。这可能意味着我不能使用它们。

我的一个想法是使用基于c 的 sqlite库,因为根据提到的线程,允许 Kotlin/Native 代码使用 c 库。这可能是可能的,但我想知道是否没有建议的更像 Kotlin 的方式在 Kotlin/Native 中使用 SQLite 或其他数据库?

4

1 回答 1

3

您确实需要使用 C SQLite 库,但您的大多数代码不应直接使用它。相反,您编写一个包装器,这将是您所询问的更类似于 Kotlin 的方式。

我还没有看到这样的包装器作为一个单独的维护项目完成( Kotlin/Native 的库还很少),但 Jetbrains 实际上在https://github.com/JetBrains/kotlinconf-spinner/tree中有一个基本的/master/kotlin-native/samples/fullstack/sql您可以将其用作自己的基础。

于 2017-12-03T17:05:17.803 回答