Интегрируйте функции поиска Android в свое приложение

Попробуйте способ создания композиций.
Jetpack Compose — рекомендуемый набор инструментов для создания пользовательского интерфейса для Android. Узнайте, как добавить функцию поиска в Compose.

Поиск — ключевая функция Android для пользователей. Пользователи должны иметь возможность искать любые доступные им данные, независимо от того, находится ли контент на устройстве или в интернете. Для обеспечения единообразного поиска Android предоставляет поисковую структуру, которая помогает реализовать поиск в вашем приложении.

Рисунок 1. Диалоговое окно поиска с пользовательскими подсказками.

Система поиска предлагает два режима ввода поисковых запросов: диалоговое окно поиска в верхней части экрана или виджет поиска ( SearchView ), который можно встроить в макет активности. В любом случае, система Android помогает реализовать поиск, передавая поисковые запросы конкретной активности, которая выполняет поиск. Вы также можете включить функцию подсказок поиска в диалоговом окне или виджете поиска по мере ввода пользователем текста. На рисунке 1 показан пример диалогового окна поиска с дополнительными подсказками.

После настройки диалогового окна поиска или виджета поиска вы можете выполнить следующие действия:

  • Включить голосовой поиск.
  • Предоставляйте поисковые подсказки на основе недавних запросов пользователей.
  • Предоставляйте пользовательские поисковые подсказки, соответствующие фактическим результатам в данных вашего приложения.
  • Предлагайте варианты поиска для вашего приложения в общесистемном поле быстрого поиска.

Примечание : фреймворк поиска не предоставляет API для поиска по вашим данным. Для выполнения поиска вам необходимо использовать API, подходящие для ваших данных. Например, если ваши данные хранятся в базе данных SQLite, используйте API android.database.sqlite для выполнения поиска.

Кроме того, нет гарантии, что устройство имеет специальную кнопку ПОИСК, которая вызывает интерфейс поиска в вашем приложении. При использовании диалогового окна поиска или пользовательского интерфейса необходимо добавить в пользовательский интерфейс кнопку поиска, которая активирует интерфейс поиска. Для получения дополнительной информации см. раздел «Вызов диалогового окна поиска» .

На следующих страницах показано, как использовать фреймворк Android для реализации поиска:

Создайте интерфейс поиска.
Как настроить приложение для использования диалогового окна поиска или виджета поиска.
Добавить последние предложения по запросам
Как предоставлять подсказки на основе ранее использованных запросов.
Добавить пользовательские предложения
Как предоставлять подсказки на основе пользовательских данных из вашего приложения и отображать их в общесистемном поле быстрого поиска.
Конфигурация с возможностью поиска
Справочный документ по конфигурационному файлу с возможностью поиска. В других документах также обсуждается конфигурационный файл с точки зрения его конкретных особенностей.

Защита конфиденциальности пользователей

При внедрении поиска в ваше приложение примите меры для защиты конфиденциальности пользователей. Многие пользователи считают свою активность на телефоне, включая поисковые запросы, личной информацией. Для защиты конфиденциальности пользователей придерживайтесь следующих принципов:

  • Не отправляйте личную информацию на серверы, а если это необходимо, не регистрируйте её.

    Персональная информация — это любая информация, позволяющая идентифицировать ваших пользователей, например, их имена, адреса электронной почты, платежные данные или другие данные, которые могут быть обоснованно связаны с такой информацией. Если ваше приложение использует поиск с помощью сервера, избегайте отправки персональной информации вместе с поисковыми запросами. Например, если вы ищете компании рядом с определенным почтовым индексом, вам не нужно отправлять идентификатор пользователя; отправляйте на сервер только почтовый индекс. Если вам необходимо отправить персональную информацию, избегайте ее регистрации. Если же регистрация необходима, тщательно защищайте эти данные и удаляйте их как можно скорее.

  • Предоставьте пользователям возможность очистить историю поиска.

    Поисковая система помогает вашему приложению предоставлять контекстно-зависимые подсказки во время ввода текста пользователем. Иногда эти подсказки основаны на предыдущих поисковых запросах или других действиях, совершенных пользователем в предыдущей сессии. Пользователь может не хотеть, чтобы предыдущие поисковые запросы отображались другим пользователям устройства. Если ваше приложение предоставляет подсказки, которые могут раскрывать предыдущие поисковые действия, реализуйте способ очистки истории поиска пользователем. Если вы используете SearchRecentSuggestions , вы можете вызвать метод clearHistory() . Если вы реализуете пользовательские подсказки, вам необходимо предоставить аналогичный метод «очистки истории» в вашем поставщике контента, который пользователь сможет выполнить.