gpt4 book ai didi

android - 是否可以在 android Room Query 中使用 StringFormat 或 Constant Variable

转载 作者:太空狗 更新时间:2023-10-29 14:37:40 26 4
gpt4 key购买 nike

我想使用公共(public)常量变量 Association.MEMBER_STATUS_APPROVED 通过以下房间查询来查询用户关联列表。

@Query("SELECT * FROM Association WHERE memberStatus = " + Association.MEMBER_STATUS_APPROVED)
LiveData<List<Association>> loadUserAssociations();

但是,room 在构建时给我 [SQLITE_ERROR]。 可以通过用如下参数替换常量变量来重写该查询。

@Query("SELECT * FROM Association WHERE memberStatus = :statusApproved")
LiveData<List<Association>> loadUserAssociations(String statusApproved);

我想知道 Room 是否支持这种字符串连接或字符串格式? (或)我可能遗漏了什么吗?

最佳答案

对于遇到相同问题的人,以下可能是 Kotlin 中的解决方案:

@Query("SELECT * FROM Association WHERE memberStatus = :statusApproved")
loadUserAssociations(statusApproved: String = Association.MEMBER_STATUS_APPROVED): LiveData<List<Association>>

而且我认为它比硬编码或将明显的常量传递给函数更简洁。

关于android - 是否可以在 android Room Query 中使用 StringFormat 或 Constant Variable,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53386872/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com