我正在开发一个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)
如何在我的查询字符串中硬编码这个布尔值?
我也尝试过:
- 将条件用单引号括起来
@Query("SELECT * FROM match WHERE liked = 'true' ORDER BY match DESC LIMIT :limit")