Tag: 源码

如何在Kotin中使用Anko设计SQLite表?

我在Kotlin中使用Anko设计了一个非常简单的表格,表格中有一个名为_id的主键,我希望_id是由SQLite系统自动传递的值。 我已经阅读了一些示例代码,但是我不知道哪一个是正确的,方法1,方法2还是方法3? 还有更多,当我插入一个记录时,我不认为我需要传递一个值给_id,但是MSetting和DBSetting的_id属性必须传递值,所以我必须用MSetting(10L,”My Settings”,2000L,”This is description!”)我不知道Anko如何处理不必要的_id,我很奇怪,当执行SettingManage().addSetting(MSetting(10L,”My Settings”,2000L,”This is description!”))时,应用程序不会崩溃SettingManage().addSetting(MSetting(10L,”My Settings”,2000L,”This is description!”))重复! 方法1:将 DBSettingTable._ID to INTEGER + PRIMARY_KEY+ UNIQUE, 方法2:将 DBSettingTable._ID to INTEGER + PRIMARY_KEY+ AUTOINCREMENT, 方法3: DBSettingTable._ID to INTEGER + PRIMARY_KEY, 插入数据 SettingManage().addSetting(MSetting(10L,”My Settings”,2000L,”This is description!”)) 设计表 class DBSettingHelper(mContext: Context = UIApp.instance) : ManagedSQLiteOpenHelper( mContext, DB_NAME, null, DB_VERSION) { companion object { val DB_NAME […]

如何在Kotlin / Native中使用SQLite?

对于多平台项目,我考虑Kotlin / Native ,希望至少有一个通用的代码库用于业务逻辑和数据保存。 为了保存数据,我想使用像SQLite这样的数据库。 但是,根据另一个stackoverflow线程 ,如果我想编译到Kotlin / Native,我不能使用任何Java文件。 如果我正确理解这一点,这也意味着我所包含的任何SQLite库都不允许从Java导入。 在搜索这样一个图书馆,我发现了两个有趣的数据库项目由Jetbrain,即安科SQLite和暴露 。 但是,在挖掘他们的源代码的时候,在写这篇文章的时候都是从Java(例如java.sql)导入的。 这可能意味着我不能使用它们。 我有一个想法是使用基于c的sqlite库,因为根据提到的线程 ,Kotlin / Native代码被允许使用c库。 这可能是可能的,但我想知道是否没有建议更多Kotlin喜欢在Kotlin / Native中使用SQLite或其他数据库的方式?