【发布时间】:2018-05-23 16:06:30
【问题描述】:
我正在构建一个 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")
【问题讨论】:
标签: android android-room