Penelusuran adalah fitur pengguna inti di Android. Pengguna harus dapat menelusuri data apa pun yang tersedia, baik konten tersebut berada di perangkat atau internet. Untuk membantu menciptakan pengalaman penelusuran yang konsisten bagi pengguna, Android menyediakan framework penelusuran yang membantu Anda mengimplementasikan penelusuran untuk aplikasi Anda.
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. Dalam kedua kasus tersebut, sistem Android membantu implementasi penelusuran Anda dengan
mengirimkan kueri penelusuran ke aktivitas tertentu yang melakukan penelusuran. Anda juga dapat mengaktifkan dialog atau widget penelusuran untuk memberikan saran penelusuran saat pengguna mengetik. Gambar 1 menunjukkan
contoh dialog penelusuran dengan saran penelusuran opsional.
Setelah menyiapkan dialog penelusuran atau widget penelusuran, Anda dapat melakukan hal berikut:
- Mengaktifkan penelusuran suara.
- Memberikan saran penelusuran berdasarkan kueri pengguna terbaru.
- Memberikan saran penelusuran kustom yang cocok dengan hasil sebenarnya di data aplikasi Anda.
- Tawarkan saran penelusuran aplikasi Anda di Kotak Penelusuran Cepat 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 CARI khusus yang akan memanggil
antarmuka penelusuran di aplikasi Anda. Saat menggunakan dialog penelusuran atau antarmuka kustom, Anda
harus menyediakan tombol penelusuran di UI yang mengaktifkan antarmuka penelusuran. Untuk mengetahui informasi
selengkapnya, lihat Memanggil dialog
penelusuran.
Halaman berikut menunjukkan cara menggunakan framework Android untuk mengimplementasikan 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 Cepat seluruh sistem.
- Konfigurasi penelusuran
- Dokumen referensi untuk file konfigurasi yang dapat ditelusuri. Dokumen lainnya juga membahas file konfigurasi dalam hal perilaku tertentu.
Melindungi privasi pengguna
Saat menerapkan penelusuran dalam 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-prinsip berikut:
- Jangan mengirim informasi pribadi ke server‐dan jika terpaksa, jangan mencatatnya dalam log.
Informasi pribadi adalah setiap 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 menelusuri bisnis di dekat suatu kode pos, Anda juga tidak perlu mengirim ID pengguna. Kirim kode pos saja ke server. Jika Anda harus mengirimkan informasi pribadi, jangan mencatatnya ke dalam log. Jika terpaksa mencatatnya, lindungi data tersebut dengan sangat hati-hati dan hapus sesegera mungkin.
- Beri pengguna cara untuk menghapus histori penelusuran mereka.
Framework penelusuran membantu aplikasi Anda memberikan saran sesuai konteks selagi pengguna mengetik. Terkadang saran ini didasarkan pada penelusuran sebelumnya atau tindakan lain yang dilakukan oleh pengguna di sesi sebelumnya. Pengguna mungkin tidak ingin penelusuran sebelumnya diungkapkan kepada pengguna perangkat lainnya. Jika aplikasi Anda memberikan saran yang dapat memunculkan aktivitas penelusuran sebelumnya, terapkan cara bagi pengguna untuk menghapus histori penelusuran mereka. Jika menggunakan
SearchRecentSuggestions
, Anda dapat memanggil metodeclearHistory()
. Jika menerapkan saran kustom, Anda harus menyediakan metode "hapus histori" yang serupa di penyedia konten, yang dapat dieksekusi pengguna.