我们希望为房间数据库构建过滤器,其中过滤器选项由用户选择。
即。 我们有一个带字段的实体(id,name,date,type) 用户可以按日期过滤列表和/或名称包含文本和/或类型等于某事
有没有办法在室内这样做?
答案 0 :(得分:3)
我很遗憾地说,目前无法以您想要的方式实现这一目标。
我已设法使用db.query(query, values)
方法完成此操作。在运行时生成查询字符串(使用占位符'?'
),并传递运行时生成的值数组。请注意,这将返回Cursor
,而不是您想要的特定对象的实例,因此您必须定义将Cursor
映射到POJO的方法。
我已经附加了一些指向我的Cursor2Pojo Mapper和实现它的项目的链接。随意使用它,因为它应该以某种方式解决您的问题。它支持列表和单个实例返回,但是需要在类中添加更多注释(Room注释是类绑定的,因此您无法在运行时通过反射获取它们)