Zintegruj funkcje wyszukiwania na Androidzie ze swoją aplikacją
Zadbaj o dobrą organizację dzięki kolekcji
Zapisuj i kategoryzuj treści zgodnie ze swoimi preferencjami.
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ć.
Treść strony i umieszczone na niej fragmenty kodu podlegają licencjom opisanym w Licencji na treści. Java i OpenJDK są znakami towarowymi lub zastrzeżonymi znakami towarowymi należącymi do firmy Oracle lub jej podmiotów stowarzyszonych.
Ostatnia aktualizacja: 2025-08-26 UTC.
[[["Łatwo zrozumieć","easyToUnderstand","thumb-up"],["Rozwiązało to mój problem","solvedMyProblem","thumb-up"],["Inne","otherUp","thumb-up"]],[["Brak potrzebnych mi informacji","missingTheInformationINeed","thumb-down"],["Zbyt skomplikowane / zbyt wiele czynności do wykonania","tooComplicatedTooManySteps","thumb-down"],["Nieaktualne treści","outOfDate","thumb-down"],["Problem z tłumaczeniem","translationIssue","thumb-down"],["Problem z przykładami/kodem","samplesCodeIssue","thumb-down"],["Inne","otherDown","thumb-down"]],["Ostatnia aktualizacja: 2025-08-26 UTC."],[],[],null,["Try the Compose way \nJetpack Compose is the recommended UI toolkit for Android. Learn how to add search functionality in Compose. \n[Search bar →](/develop/ui/compose/components/search-bar) \n\nSearch is a core user feature on Android. Users must be able\nto search any data that is available to them, whether the content is located on the device or\nthe internet. To help create a consistent search experience for users, Android provides a\nsearch framework that helps you implement search for your application. \n\n**Figure 1.** A search dialog with custom\nsearch suggestions.\n\nThe search framework offers two modes of search input: a search dialog at the top of the\nscreen or a search widget ([SearchView](/reference/android/widget/SearchView)) that you can embed in your activity\nlayout. In either case, the Android system assists your search implementation by\ndelivering search queries to a specific activity that performs searches. You can also enable\nthe search dialog or widget to provide search suggestions as the user types. Figure 1 shows an\nexample of the search dialog with optional search suggestions.\n\nOnce you set up either the search dialog or the search widget, you can do the following:\n\n- Enable voice search.\n- Provide search suggestions based on recent user queries.\n- Provide custom search suggestions that match actual results in your application data.\n- Offer your application's search suggestions in the system-wide Quick Search Box.\n\n**Note** : The search framework does *not* provide APIs to\nsearch your data. To perform a search, you need to use APIs appropriate for your data. For example,\nif your data is stored in an SQLite database, use the [android.database.sqlite](/reference/android/database/sqlite/package-summary)\nAPIs to perform searches.\n\n\u003cbr /\u003e\n\n\nAlso, there is no guarantee that a device provides a dedicated SEARCH button that invokes the\nsearch interface in your application. When using the search dialog or a custom interface, you\nmust provide a search button in your UI that activates the search interface. For more\ninformation, see [Invoke the search\ndialog](/develop/ui/views/search/search-dialog#InvokingTheSearchDialog).\n\nThe following pages show you how to use Android's framework to implement search:\n\n**[Create a search interface](/develop/ui/views/search/search-dialog)**\n: How to set up your application to use the search dialog or search widget.\n\n**[Add recent query\nsuggestions](/develop/ui/views/search/adding-recent-query-suggestions)**\n: How to provide suggestions based on queries previously used.\n\n**[Add custom suggestions](/develop/ui/views/search/adding-custom-suggestions)**\n: How to provide suggestions based on custom data from your application and offer them\n in the system-wide Quick Search Box.\n\n**[Searchable configuration](/develop/ui/views/search/searchable-config)**\n: A reference document for the searchable configuration file. The other\n documents also discuss the configuration file in terms of specific behaviors.\n\nProtect user privacy\n\nWhen you implement search in your application, take steps to protect the user's\nprivacy. Many users consider their activities on their phone---including searches---to\nbe private information. To protect users' privacy, abide by the following\nprinciples:\n\n- **Don't send personal information to servers‐and if you must, don't log it.**\n\n Personal information is any information that can personally identify your users, such as their\n names, email addresses, billing information, or other data that can be reasonably linked to such\n information. If your application implements search with the assistance of a server, avoid sending\n personal information along with the search queries. For example, if you are searching for businesses\n near a ZIP code,\n you don't need to send the user ID as well; send only the ZIP code to the server. If you must\n send personal information, avoid logging it. If you must log it, protect that data\n very carefully and erase it as soon as possible.\n- **Provide users with a way to clear their search history.**\n\n The search framework helps your application provide context-specific suggestions while the user\n types. Sometimes these\n suggestions are based on previous searches or other actions taken by the user in an earlier\n session. A user might not want previous searches to be revealed to other device users. If your\n application provides suggestions that\n can reveal previous search activities, implement a way for the user to clear their\n search history. If you are using [SearchRecentSuggestions](/reference/android/provider/SearchRecentSuggestions),\n you can call the\n [clearHistory()](/reference/android/provider/SearchRecentSuggestions#clearHistory())\n method. If you are implementing custom suggestions, you need to provide a similar \"clear history\"\n method in your content provider that the user can execute."]]