Zintegruj funkcje wyszukiwania na Androidzie ze swoją aplikacją

Wypróbuj Compose
Jetpack Compose to zalecany zestaw narzędzi do tworzenia interfejsu na Androidzie. Dowiedz się, jak dodać funkcję wyszukiwania w Compose.

Wyszukiwanie to podstawowa funkcja dla użytkowników Androida. Użytkownicy muszą mieć możliwość wyszukiwania dowolnych danych, które są dla nich dostępne, niezależnie od tego, czy treści znajdują się na urządzeniu, czy w internecie. Aby zapewnić użytkownikom spójne środowisko wyszukiwania, Android udostępnia platformę wyszukiwania, która pomaga w implementacji wyszukiwania w aplikacji.

Rysunek 1. Okno wyszukiwania z niestandardowymi sugestiami wyszukiwania.

Platforma wyszukiwania oferuje 2 tryby wprowadzania danych do wyszukiwania: okno wyszukiwania u góry ekranu lub widżet wyszukiwania (SearchView), który możesz umieścić w układzie aktywności. W obu przypadkach system Android pomaga w implementacji wyszukiwania, przekazując zapytania do wyszukiwania do konkretnej aktywności, która przeprowadza wyszukiwanie. Możesz też włączyć okno wyszukiwania lub widżet, aby wyświetlać sugestie wyszukiwania podczas wpisywania przez użytkownika. Rysunek 1 przedstawia przykład okna wyszukiwania z opcjonalnymi sugestiami wyszukiwania.

Po skonfigurowaniu okna wyszukiwania lub widżetu wyszukiwania możesz wykonać te czynności:

  • Włącz wyszukiwanie głosowe.
  • Wyświetlaj sugestie wyszukiwania na podstawie ostatnich zapytań użytkownika.
  • Wyświetlaj niestandardowe sugestie wyszukiwania, które pasują do rzeczywistych wyników w danych aplikacji.
  • Wyświetlaj sugestie wyszukiwania aplikacji w systemowym oknie szybkiego wyszukiwania.

Uwaga: platforma wyszukiwania nie udostępnia interfejsów API do wyszukiwania danych. Aby przeprowadzić wyszukiwanie, musisz użyć interfejsów API odpowiednich dla Twoich danych. Jeśli na przykład dane są przechowywane w bazie danych SQLite, do przeprowadzania wyszukiwania użyj interfejsów API android.database.sqlite.

Nie ma też gwarancji, że urządzenie będzie miało specjalny przycisk WYSZUKIWANIE, który wywołuje interfejs wyszukiwania w Twojej aplikacji. Jeśli używasz okna wyszukiwania lub niestandardowego interfejsu, musisz umieścić w interfejsie przycisk wyszukiwania, który aktywuje interfejs wyszukiwania. Więcej informacji znajdziesz w artykule Wywoływanie okna wyszukiwania.

Na tych stronach dowiesz się, jak używać platformy Androida do implementowania wyszukiwania:

Tworzenie interfejsu wyszukiwania
Jak skonfigurować aplikację do korzystania z okna wyszukiwania lub widżetu wyszukiwania.
Dodawanie sugestii ostatnich zapytań
Jak wyświetlać sugestie na podstawie wcześniej używanych zapytań.
Dodawanie niestandardowych sugestii
Jak wyświetlać sugestie na podstawie niestandardowych danych z aplikacji i oferować je w systemowym oknie szybkiego wyszukiwania.
Konfiguracja wyszukiwania
Dokument referencyjny dotyczący pliku konfiguracyjnego wyszukiwania. W innych dokumentach plik konfiguracyjny jest też omawiany w kontekście konkretnych zachowań.

Ochrona prywatności użytkowników

Implementując wyszukiwanie w aplikacji, podejmij kroki w celu ochrony prywatności użytkownika. Wielu użytkowników uważa swoje działania na telefonie, w tym wyszukiwania, za informacje prywatne. Aby chronić prywatność użytkowników, przestrzegaj tych zasad:

  • Nie wysyłaj danych osobowych na serwery, a jeśli musisz to zrobić, nie rejestruj ich.

    Dane osobowe to wszelkie informacje, które mogą umożliwić identyfikację użytkowników, np. imiona i nazwiska, adresy e-mail, informacje rozliczeniowe lub inne dane, które można w uzasadniony sposób powiązać z takimi informacjami. Jeśli Twoja aplikacja implementuje wyszukiwanie z pomocą serwera, unikaj wysyłania danych osobowych wraz z zapytaniami. Jeśli na przykład szukasz firm w pobliżu kodu pocztowego, nie musisz wysyłać też identyfikatora użytkownika. Wyślij na serwer tylko kod pocztowy. Jeśli musisz wysłać dane osobowe, unikaj ich rejestrowania. Jeśli musisz je zarejestrować, bardzo starannie je chroń i usuń je jak najszybciej.

  • Udostępnij użytkownikom sposób na wyczyszczenie historii wyszukiwania.

    Platforma wyszukiwania pomaga aplikacji wyświetlać sugestie kontekstowe podczas wpisywania przez użytkownika. Czasami te sugestie są oparte na poprzednich wyszukiwaniach lub innych działaniach użytkownika w poprzedniej sesji. Użytkownik może nie chcieć, aby poprzednie wyszukiwania były widoczne dla innych użytkowników urządzenia. Jeśli Twoja aplikacja wyświetla sugestie, które mogą ujawnić poprzednie wyszukiwania, zaimplementuj sposób na wyczyszczenie historii wyszukiwania przez użytkownika. Jeśli używasz SearchRecentSuggestions, możesz wywołać metodę clearHistory(). Jeśli implementujesz niestandardowe sugestie, musisz udostępnić podobną metodę „wyczyść historię” w dostawcy treści, którą użytkownik może wykonać.