Поиск – это основная функция для пользователей Android. Пользователи должны иметь возможность искать любые доступные им данные, независимо от того, где находится контент – на устройстве или в интернете. Чтобы помочь создать согласованный интерфейс поиска для пользователей, Android предоставляет платформу поиска, которая помогает реализовать поиск для вашего приложения.
Рисунок 1. Диалоговое окно поиска с настраиваемыми подсказками.
Фреймворк поиска предлагает два режима ввода поискового запроса: диалоговое окно поиска в верхней части экрана или виджет поиска (SearchView), который можно встроить в макет действия. В обоих случаях система Android помогает реализовать поиск, передавая поисковые запросы определенному действию, которое выполняет поиск. Вы также можете включить диалоговое окно поиска или виджет, чтобы предоставлять подсказки при поиске по мере ввода пользователем. На рисунке 1 показан пример диалогового окна поиска с подсказками.
После настройки диалогового окна или виджета поиска вы можете:
- Включите голосовой поиск.
- Предоставлять подсказки при поиске на основе недавних запросов пользователей.
- Предоставляйте подсказки при поиске, которые соответствуют фактическим результатам в данных приложения.
- Показывайте подсказки при поиске из вашего приложения в окне быстрого поиска.
Примечание. Фреймворк поиска не предоставляет API для поиска данных. Чтобы выполнить поиск, необходимо использовать API, подходящие для ваших данных. Например, если ваши данные хранятся в базе данных SQLite, используйте API android.database.sqlite для выполнения поиска.
Кроме того, нет гарантии, что на устройстве есть специальная кнопка поиска, которая вызывает интерфейс поиска в вашем приложении. При использовании диалогового окна поиска или пользовательского интерфейса необходимо предоставить кнопку поиска в пользовательском интерфейсе, которая активирует интерфейс поиска. Подробнее о том, как вызвать диалоговое окно поиска…
На следующих страницах показано, как использовать фреймворк Android для реализации поиска:
- Как создать интерфейс поиска
- Как настроить приложение для использования диалогового окна или виджета поиска.
- Добавление подсказок на основе недавних запросов
- Как предлагать подсказки на основе ранее использованных запросов.
- Как добавить собственные подсказки
- Как предлагать подсказки на основе пользовательских данных из приложения и показывать их в окне быстрого поиска.
- Настройка поиска
- Справочный документ для файла конфигурации с возможностью поиска. В других документах файл конфигурации также рассматривается с точки зрения конкретных моделей поведения.
Защита конфиденциальности пользователей
При реализации поиска в приложении примите меры по защите конфиденциальности пользователей. Многие пользователи считают свои действия на телефоне, включая поисковые запросы, конфиденциальной информацией. Чтобы защитить конфиденциальность пользователей, соблюдайте следующие принципы:
- Не отправляйте личную информацию на серверы, а если это необходимо, не регистрируйте ее.
Личная информация – это любые данные, позволяющие идентифицировать личность пользователя, например имя, адрес электронной почты, платежные данные или другие сведения, которые можно сопоставить с такой информацией. Если в вашем приложении поиск выполняется с помощью сервера, не отправляйте личную информацию вместе с поисковыми запросами. Например, если вы ищете компании рядом с почтовым индексом, вам не нужно отправлять идентификатор пользователя. Отправьте на сервер только почтовый индекс. Если вам необходимо отправить личную информацию, не регистрируйте ее. Если вам необходимо вести журнал, тщательно защищайте эти данные и удаляйте их как можно скорее.
- Предоставьте пользователям возможность очищать историю поиска.
Фреймворк поиска помогает приложению предлагать контекстные подсказки по мере ввода запроса пользователем. Иногда эти подсказки основаны на предыдущих поисковых запросах или других действиях, выполненных пользователем в предыдущем сеансе. Пользователь может не захотеть, чтобы другие люди, у которых есть доступ к устройству, видели его предыдущие поисковые запросы. Если в вашем приложении есть подсказки, которые могут раскрыть предыдущие поисковые запросы, реализуйте возможность очистки истории поиска. Если вы используете
SearchRecentSuggestions, вызовите методclearHistory(). Если вы используете собственные подсказки, вам нужно добавить в поставщик контента аналогичный метод очистки истории, который пользователь сможет запустить.