Mengintegrasikan fitur penelusuran Android ke dalam aplikasi

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.

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. 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 metode clearHistory(). Jika menerapkan saran kustom, Anda harus menyediakan metode "hapus histori" yang serupa di penyedia konten, yang dapat dieksekusi pengguna.