【发布时间】:2017-12-23 12:50:43
【问题描述】:
我正在尝试使用新的房间库,但出现此错误
错误:查询有问题:[SQLITE_ERROR] SQL 错误或 缺少数据库(没有这样的表:Station)
错误:不确定如何将 Cursor 转换为此方法的返回类型
警告:未向注解提供架构导出目录 处理器,因此我们无法导出架构。您可以提供
room.schemaLocation注释处理器参数或设置 exportSchema 为 false。错误:org.gradle.api.internal.tasks.compile.CompilationFailedException: 编译失败;有关详细信息,请参阅编译器错误输出。
RoomDatabase.kt
@Database(entities = TrolleyType::class), version = 2)
abstract class AppDatabase : RoomDatabase() {
abstract fun stationDao(): StationDao
}
MyDao.kt
@Dao
interface MyDao {
@get:Query("SELECT * FROM Station")
val stations: List<Station>
@get:Query("SELECT * FROM TrolleyType")
val trolleyTypes: List<TrolleyType>
}
实体
@Entity
data class Station(
@PrimaryKey @ColumnInfo(name = "_id") var id: Int = 0,
@ColumnInfo(name = "StationName") var stationName: String? = "",
@ColumnInfo(name = "StationArabic") var stationArabic: String? = ""
)
@Entity
data class TrolleyType(
@PrimaryKey @ColumnInfo(name = "_id") var id: Int = 0,
@ColumnInfo(name = "Type") var stationName: String? = "",
@ColumnInfo(name = "TypeArabic") var stationArabic: String? = ""
)
【问题讨论】:
标签: android kotlin android-room