我正在开发一个使用 Room 数据库来存储和检索对象的项目。我已经使用 RoomDB、Dao 和 Entity 注释正确设置了所有内容。
当我尝试检索之前保存的对象时,我得到一个空列表。
这是我检索项目的方法:
class SpotRepository(context: Context) {
private val itemDAO: SpotDAO = RoomDB.getDB(context).spotDao
val allSpotItemsList: List<Spot>
get() = itemDAO.getAllSpotItemsList()
}
Run Code Online (Sandbox Code Playgroud)
这是我的物品Dao
@Dao abstract class SpotDAO{
@Query("SELECT * FROM spotItems")
abstract fun getAllSpotItems(): LiveData<List<Spot>>
@Query("SELECT * FROM spotItems")
abstract fun getAllSpotItemsList(): List<Spot>
@Query("SELECT * FROM spotItems WHERE uuid = :id")
abstract fun getSpotById(id: String): Spot
@Insert(onConflict = OnConflictStrategy.REPLACE)
abstract fun insertItem(item: Spot): Long
@Query("DELETE FROM spotItems WHERE id = :id")
abstract fun deleteItem(id: Long)
@Update …Run Code Online (Sandbox Code Playgroud)