Как я могу получить данные из моей базы данных, используя Room, если входной запрос является только частью этих данных? - PullRequest
0 голосов
/ 30 апреля 2020

У меня есть следующий код в моем 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»). Однако приведенный выше код возвращает только число, которое точно соответствует входному запросу.

Как я могу изменить свой код, чтобы вернуть то, что мне нужно?

1 Ответ

0 голосов
/ 30 апреля 2020

Нужно было поискать более тщательно, вот ответ:

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