Mengintegrasikan fitur penelusuran Android ke dalam aplikasi
Tetap teratur dengan koleksi
Simpan dan kategorikan konten berdasarkan preferensi Anda.
Coba cara Compose
Jetpack Compose adalah toolkit UI yang direkomendasikan untuk Android. Pelajari cara menambahkan fungsi penelusuran di Compose.
Penelusuran adalah fitur pengguna inti di Android. Pengguna harus dapat menelusuri data apa pun yang tersedia baginya, entah konten tersebut berada di perangkat atau di internet. Untuk membantu menciptakan pengalaman penelusuran yang konsisten bagi pengguna, Android menyediakan framework penelusuran yang memudahkan Anda menerapkan penelusuran untuk aplikasi Anda.
Gambar 1. Dialog penelusuran dengan saran penelusuran kustom.
Framework penelusuran menawarkan dua mode input penelusuran: dialog penelusuran di bagian atas layar, atau widget penelusuran (SearchView
) yang dapat disematkan ke dalam tata letak aktivitas Anda. Apa pun mode yang digunakan, sistem Android akan membantu implementasi penelusuran Anda dengan mengirimkan kueri penelusuran ke aktivitas tertentu yang melakukan penelusuran. Anda juga dapat mengaktifkan dialog penelusuran atau widget penelusuran agar memberikan saran penelusuran selagi pengguna mengetik. Gambar 1 menunjukkan contoh dialog penelusuran dengan saran penelusuran opsional.
Setelah menyiapkan dialog penelusuran atau widget penelusuran, Anda dapat melakukan hal berikut:
- Aktifkan penelusuran suara.
- Memberikan saran penelusuran berdasarkan kueri pengguna terbaru.
- Memberikan saran penelusuran kustom yang cocok dengan hasil sebenarnya di data aplikasi Anda.
- Menawarkan saran penelusuran aplikasi Anda di Kotak Penelusuran Kilat di seluruh sistem.
Catatan: Framework penelusuran tidak menyediakan API untuk menelusuri data Anda. Untuk melakukan penelusuran, Anda harus menggunakan API yang sesuai dengan data Anda. Misalnya, jika data Anda disimpan dalam database SQLite, gunakan android.database.sqlite
API untuk melakukan penelusuran.
Selain itu, tidak ada jaminan bahwa perangkat menyediakan tombol TELUSURI khusus yang akan memanggil antarmuka penelusuran di aplikasi Anda. Saat menggunakan dialog penelusuran atau antarmuka kustom, Anda
harus menyediakan tombol telusuri di UI yang mengaktifkan antarmuka penelusuran. Untuk mengetahui informasi selengkapnya, lihat Memanggil dialog penelusuran.
Halaman berikut menunjukkan cara menggunakan framework Android untuk menerapkan penelusuran:
- Membuat antarmuka penelusuran
- Cara menyiapkan aplikasi Anda untuk menggunakan dialog penelusuran atau widget penelusuran.
- Menambahkan saran kueri
terbaru
- Cara memberikan saran berdasarkan kueri yang digunakan sebelumnya.
- Menambahkan saran kustom
- Cara memberikan saran berdasarkan data kustom dari aplikasi Anda dan menawarkannya di Kotak Penelusuran Kilat di seluruh sistem.
- Konfigurasi yang dapat ditelusuri
- Dokumen referensi untuk file konfigurasi yang dapat ditelusuri. Dokumen
lainnya juga membahas file konfigurasi dalam hal perilaku spesifik.
Melindungi privasi pengguna
Jika menerapkan penelusuran di aplikasi Anda, lakukan langkah-langkah untuk melindungi privasi pengguna. Banyak pengguna menganggap aktivitas mereka di ponsel—termasuk penelusuran—sebagai informasi pribadi. Untuk melindungi privasi pengguna, patuhi prinsip berikut:
- Jangan mengirim informasi pribadi ke server‐dan jika terpaksa, jangan masukkan ke dalam log.
Informasi pribadi adalah segala informasi yang dapat mengidentifikasi pengguna Anda secara pribadi, seperti nama, alamat email, informasi penagihan, atau data lain yang dapat ditautkan secara wajar ke informasi tersebut. Jika aplikasi Anda menerapkan penelusuran dengan bantuan server, hindari mengirim informasi pribadi bersama kueri penelusuran. Misalnya, jika Anda menelusuri bisnis yang berada di dekat sebuah kode pos, Anda tidak perlu juga mengirim ID pengguna; kirimkan hanya kode pos tersebut ke server. Jika terpaksa mengirimkan informasi pribadi, usahakan tidak memasukkannya ke dalam log. Jika terpaksa membuat lognya, lindungi data tersebut dengan sangat hati-hati dan hapus sesegera mungkin.
- Berikan pengguna cara untuk menghapus histori penelusurannya.
Framework penelusuran membantu aplikasi Anda memberikan saran untuk konteks tertentu selagi pengguna mengetik. Terkadang, saran ini didasarkan pada penelusuran sebelumnya atau tindakan lain yang dilakukan pengguna pada sesi sebelumnya. Pengguna mungkin tidak ingin histori penelusurannya diketahui oleh pengguna perangkat lain. Jika aplikasi Anda memberikan saran yang dapat memunculkan aktivitas penelusuran sebelumnya, sediakan cara bagi pengguna untuk menghapus histori penelusurannya. Jika menggunakan SearchRecentSuggestions
, Anda dapat memanggil metode clearHistory()
. Jika menerapkan saran kustom, Anda perlu menyediakan metode "hapus histori" serupa di penyedia konten yang dapat dieksekusi oleh pengguna.
Konten dan contoh kode di halaman ini tunduk kepada lisensi yang dijelaskan dalam Lisensi Konten. Java dan OpenJDK adalah merek dagang atau merek dagang terdaftar dari Oracle dan/atau afiliasinya.
Terakhir diperbarui pada 2025-08-26 UTC.
[[["Mudah dipahami","easyToUnderstand","thumb-up"],["Memecahkan masalah saya","solvedMyProblem","thumb-up"],["Lainnya","otherUp","thumb-up"]],[["Informasi yang saya butuhkan tidak ada","missingTheInformationINeed","thumb-down"],["Terlalu rumit/langkahnya terlalu banyak","tooComplicatedTooManySteps","thumb-down"],["Sudah usang","outOfDate","thumb-down"],["Masalah terjemahan","translationIssue","thumb-down"],["Masalah kode / contoh","samplesCodeIssue","thumb-down"],["Lainnya","otherDown","thumb-down"]],["Terakhir diperbarui pada 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."]]