当输入查询只是该数据的一部分时,如何使用 Room 从我的数据库中获取数据?

How can I fetch data from my Database using Room when the input query is only part of that data?

我的 DAO 中有以下代码,试图为我的软电话应用程序创建 "quick search" 函数:

// 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”的号码他们)。但是,上面的代码 return 只是与输入查询完全匹配的数字。

如何将我的代码更改为 return 我需要的代码?

应该搜索得更透彻些,这是答案:

// 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);