Jac*_*s.S 3 android kotlin sqldelight
我有一个运行良好的 SqlDelight 数据库。我这样创建它:
Database(AndroidSqliteDriver(Database.Schema, context, DatabaseName)
Run Code Online (Sandbox Code Playgroud)
对于单元测试,我创建一个内存数据库,如下所示:
Database(JdbcSqliteDriver(JdbcSqliteDriver.IN_MEMORY).apply {
Database.Schema.create(this)
})
Run Code Online (Sandbox Code Playgroud)
我想对在模拟器或物理设备上运行的 androidTests 执行相同的操作,但 JdbcSqliteDriver 在 Android 中不起作用,大概是因为 Android 默认情况下没有安装该软件包。
如何在 AndroidTest(或生产环境)中运行内存数据库?
事实证明,如果您不命名数据库,它会创建一个内存版本:
Database(AndroidSqliteDriver(Database.Schema, context, null)
Run Code Online (Sandbox Code Playgroud)
因为AndroidSqliteDriver
使用SupportSQLiteOpenHelper.Builder
文档中有这个:
/**
* @param name Name of the database file, or null for an in-memory database.
* @return This
*/
@NonNull
public Builder name(@Nullable String name) {
mName = name;
return this;
}
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
1255 次 |
最近记录: |