Хорошо, поэтому я попытался следовать этому руководству: https://medium.com/google-developers/7-pro-tips-for-room-fbadea4bfbd1, который привел меня к этому коду: https://gist.github.com/florina-muntenescu/1c78858f286d196d545c038a71a3e864
Я попытался составить собственный пример, когда получил две следующие ошибки:
Ошибка: Тип параметра должен быть классом, аннотированным @Entity, или его коллекцией / массивом.
Ошибка: невозможно использовать несвязанные универсальные шаблоны в классах Dao. Если вы пытаетесь создать базовый DAO, создайте обычный класс, расширите его параметрами типа, затем отметьте подкласс @Dao.
Я не знаю, связаны ли эти две ошибки друг с другом, но я не вижу, где они возникают, и могу не исключить, что они связаны.
@Entity
public class Data {
@PrimaryKey
uuid: String
title: String
}
Мой родительский дао
@Dao
abstract class BaseDao<in T> {
@Insert
abstract fun insert(obj: T)
@Insert
abstract fun insert(vararg obj: T)
@Update
abstract fun update(obj: T)
@Delete
abstract fun delete(obj: T)
}
Мой подкласс дао
@Dao
abstract class SubclassDao : BaseDao<Data> {
@Query("SELECT * FROM Data WHERE uuid = :id")
abstract fun getDataById(id: String): LiveData<Data>
@Query("SELECT * FROM BowelMovementEvent")
abstract fun getData(): List<Data>
@Query("SELECT * FROM BowelMovementEvent")
abstract fun getEventById(id: String): LiveData<Data>
}
BowelMovements
! - person Sam   schedule 26.01.2018@Dao
надо удалить с BaseDao - person Alexander Egger   schedule 16.07.2018