当我在 DAO 类中编写查询时,我可以使用另一个类(或枚举)中的静态变量吗?如果可以的话请告诉我怎么做?
我的意思是这样的:
public enum MessageState {
NOTHING,
PENDING,
SEND
}
在 DAO 类的查询语句中:
@Query("SELECT * FROM message_db WHERE state = :MessageState.PENDING.ordinal()")
最佳答案
将枚举作为默认参数传递给函数:
@Query("SELECT * FROM message_db WHERE state = :state")
fun getMessages(state: Int = MessageState.PENDING.ordinal()): List<Message>
这样您就不需要在每次调用时都提供它,但可以获得相同的结果。
关于Android Room DB - 在查询中使用另一个类的静态变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54749082/