Привет, разработчики Android,
Я пытаюсь использовать новую версию Android Room, чтобы создать DatabaseView и выполнить поиск по DBView, но DAO не может найти никаких результатов, даже когда я набираю довольно очевиднозапросы.
Вот версия моих зависимостей Room Gradle.
//Android Room
def room_version = "2.1.0-alpha04"
implementation "androidx.room:room-runtime:$room_version"
kapt "androidx.room:room-compiler:$room_version"
Вот мой DatabaseView
@DatabaseView("SELECT * from popular UNION SELECT * from trending UNION SELECT * from favorite",
viewName = "searchView")
data class SeriesEntity(
@PrimaryKey
var id: Int? = null,
var originalName: String? = null,
var name: String? = null,
var popularity: Double? = null,
var voteCount: Int? = null,
var voteAverage: Double? = null,
var firstAirDate: String? = null,
var posterPath: String? = null,
var genreIds: List<Int>? = null,
var originalLanguage: String? = null,
var backdropPath: String? = null,
var overview: String? = null,
var originCountry: List<String>? = null
)
Вот мой DAO:
@Dao
interface SearchSeriesDao {
@Query("""
SELECT * FROM searchView WHERE name MATCH :query """)
fun query(query : String) : LiveData<List<SeriesEntity>>
}
Мой основной класс базы данных:
@Database(entities =
arrayOf(
FavoritesEntity::class,
PopularEntity::class,
TrendingEntity::class),
views = arrayOf(SeriesEntity::class), version = 5)
Каждый раз, когда я пытаюсь использовать свой DAO для поиска простой записи в моем представлении, возвращаемые LiveData пусты.