Я создаю приложение для Android, которое отображает список потенциальных совпадений для пользователя. Пользователь может щелкнуть по одному из них, чтобы поставить лайк пользователю, и я сохраняю все эти лайки локально.
Я могу написать запрос, чтобы получить список таких совпадений:
@Query("SELECT * FROM match WHERE liked = :liked ORDER BY match DESC LIMIT :limit")
fun getMatches(limit: Int = 6, liked: Boolean = true): Flowable<List<Match>>
Я узнал, что это нормально работает. Однако я не предвижу никакого сценария, в котором я когда-либо установил бы liked
в значение false, и поэтому мне любопытно, есть ли способ жестко закодировать мое логическое условие? Если я попробую:
@Query("SELECT * FROM match WHERE liked = true ORDER BY match DESC LIMIT :limit")
Во время компиляции я получаю следующую ошибку:
Error:(8, 0) Gradle: error: There is a problem with the query: [SQLITE_ERROR] SQL error or missing database (no such column: true)
Как я могу жестко закодировать это логическое значение в строке запроса?
Я также пробовал:
- Wrapping the condition in single quotes
@Query("SELECT * FROM match WHERE liked = 'true' ORDER BY match DESC LIMIT :limit")