我在我的 DAO 中有以下代码,试图为我的软件电话应用程序创建“快速搜索”功能:
// Retrieve the numbers matching the query (e.g. for dialer quick search)
@Query("SELECT * FROM phone_numbers_table WHERE phone_number LIKE :phoneNumber")
List<PhoneNumber> getMatchingNumbers(String phoneNumber);
在调用号码时,我希望我的应用程序获取其中包含当前输入的字符串的所有联系号码(即,如果我输入了“456”,我想获取其中包含“456”的所有号码) 。但是,上面的代码仅返回与输入查询完全匹配的数字。
如何更改代码以返回我需要的内容?
最佳答案
应该更彻底地搜索,这就是答案:
// Retrieve the numbers matching the query (e.g. for dialer quick search)
@Query("SELECT * FROM phone_numbers_table WHERE phone_number LIKE '%' || :phoneNumber || '%'")
List<PhoneNumber> getMatchingNumbers(String phoneNumber);
关于java - 当输入查询只是数据的一部分时,如何使用 Room 从数据库中获取数据?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61517844/