Zintegruj funkcje wyszukiwania na Androidzie ze swoją aplikacją

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

Wyszukiwanie jest podstawową funkcją Androida. Użytkownicy muszą mieć możliwość wyszukiwania wszystkich dostępnych dla nich danych, niezależnie od tego, czy treści znajdują się na urządzeniu, czy w internecie. Aby zapewnić użytkownikom spójne wrażenia z wyszukiwania, Android udostępnia platformę wyszukiwania, która pomaga wdrożyć wyszukiwanie w aplikacji.

Rysunek 1. Okno wyszukiwania z niestandardowymi sugestiami wyszukiwania.

Platforma wyszukiwania oferuje 2 tryby wprowadzania wyszukiwanych informacji: 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 konkretnego działania, które przeprowadza wyszukiwanie. Możesz też włączyć okno wyszukiwania lub widżet, aby wyświetlać sugestie wyszukiwania podczas wpisywania tekstu przez użytkownika. Ilustracja 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.
  • sugerować wyszukiwania na podstawie ostatnich zapytań użytkowników,
  • Podawaj niestandardowe sugestie wyszukiwania, które pasują do rzeczywistych wyników w danych aplikacji.
  • Oferuj sugestie wyszukiwania aplikacji w ogólnosystemowym polu 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 wyszukiwania używaj 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 interfejsu niestandardowego, musisz udostępnić 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 wdrożyć wyszukiwanie za pomocą platformy Androida:

Tworzenie interfejsu wyszukiwania
Jak skonfigurować aplikację, aby korzystać z okna wyszukiwania lub widżetu wyszukiwania.
Dodawanie sugestii dotyczących ostatnich zapytań
Jak wyświetlać sugestie na podstawie wcześniej użytych zapytań.
Dodawanie niestandardowych sugestii
Jak podawać sugestie na podstawie danych niestandardowych z aplikacji i oferować je w ogólnosystemowym polu szybkiego wyszukiwania.
Konfiguracja wyszukiwania
Dokument referencyjny dla przeszukiwalnego pliku konfiguracji. W innych dokumentach plik konfiguracyjny jest omawiany w kontekście konkretnych zachowań.

Ochrona prywatności użytkowników

Gdy wdrażasz wyszukiwanie w aplikacji, podejmij działania, aby chronić prywatność użytkownika. Wielu użytkowników uważa swoją aktywność 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ą identyfikować użytkowników, takie jak imiona i nazwiska, adresy e-mail, dane do płatności lub inne dane, które można w uzasadniony sposób powiązać z tymi informacjami. Jeśli aplikacja korzysta z wyszukiwania 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. Wystarczy, że wyślesz na serwer sam kod pocztowy. Jeśli musisz wysłać dane osobowe, unikaj ich rejestrowania. Jeśli musisz je rejestrować, bardzo starannie chroń te dane i jak najszybciej je usuwaj.

  • Udostępniaj użytkownikom możliwość wyczyszczenia historii wyszukiwania.

    Framework wyszukiwania pomaga aplikacji wyświetlać sugestie dostosowane do kontekstu podczas wpisywania tekstu przez użytkownika. Czasami te sugestie są oparte na poprzednich wyszukiwaniach lub innych działaniach podjętych przez 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ą ujawniać wcześniejsze wyszukiwania, wdróż sposób, w jaki użytkownik może wyczyścić historię wyszukiwania. Jeśli używasz SearchRecentSuggestions, możesz wywołać metodę clearHistory(). Jeśli wdrażasz niestandardowe sugestie, musisz w swoim dostawcy treści udostępnić podobną metodę „wyczyść historię”, którą użytkownik może wykonać.