Android arama özelliklerini uygulamanıza entegre edin

Arama, Android'deki temel kullanıcı özelliklerinden biridir. İçerik, ister cihazda ister internette bulunsun, kullanıcılar kendilerine sunulan tüm verilerde arama yapabilmelidir. Android, kullanıcılara tutarlı bir arama deneyimi sunmak için uygulamanız için aramayı uygulamanıza yardımcı olan bir arama çerçevesi sağlar.

Şekil 1. Özel arama önerileri içeren bir arama iletişim kutusu.

Arama çerçevesi iki arama girişi modu sunar: ekranın üst kısmındaki bir arama iletişim kutusu veya etkinlik düzeninize yerleştirebileceğiniz bir arama widget'ı (SearchView). Her iki durumda da Android sistemi, arama sorgularını arama yapan belirli bir etkinliğe sunarak arama uygulamanıza yardımcı olur. Ayrıca, kullanıcı yazarken arama önerileri sunmak için arama iletişim kutusunu veya widget'ı da etkinleştirebilirsiniz. Şekil 1'de, isteğe bağlı arama önerileri içeren bir arama iletişim kutusu örneği gösterilmektedir.

Arama iletişim kutusunu veya arama widget'ını ayarladıktan sonra, aşağıdakileri yapabilirsiniz:

  • Sesli aramayı etkinleştir.
  • Son kullanıcı sorgularına dayalı arama önerileri sunar.
  • Uygulama verilerinizdeki gerçek sonuçlarla eşleşen özel arama önerileri sağlayın.
  • Uygulamanızın arama önerilerini sistem genelindeki Hızlı Arama Kutusu'nda sunun.

Not: Arama çerçevesi, verilerinizde arama yapmak için API'ler sağlamaz. Arama yapmak için verilerinize uygun API'leri kullanmanız gerekir. Örneğin, verileriniz bir SQLite veritabanında depolanıyorsa arama yapmak için android.database.sqlite API'lerini kullanın.

Ayrıca, bir cihazın uygulamanızdaki arama arayüzünü çağıran özel bir ARAMA düğmesi sağlayacağının da garantisi yoktur. Arama iletişim kutusunu veya özel bir arayüz kullanırken, kullanıcı arayüzünüzde arama arayüzünü etkinleştiren bir arama düğmesi sağlamanız gerekir. Daha fazla bilgi için Arama iletişim kutusunu çağırma bölümüne bakın.

Aşağıdaki sayfalarda, aramayı uygulamak için Android'in çerçevesinin nasıl kullanılacağı gösterilmektedir:

Arama arayüzü oluşturma
Uygulamanızı, arama iletişim kutusunu veya arama widget'ını kullanacak şekilde ayarlama.
Son sorgu önerileri ekleme
Daha önce kullanılan sorgulara göre öneriler sunma.
Özel öneriler ekleme
Uygulamanızdan alınan özel verilere dayalı öneriler sunma ve bu önerileri sistem genelindeki Hızlı Arama Kutusu'nda sunma.
Aranabilir yapılandırma
Aranabilir yapılandırma dosyası için bir referans dokümanı. Diğer belgelerde, yapılandırma dosyasını belirli davranışlar açısından ele alırlar.

Kullanıcı gizliliğini koruyun

Uygulamanızda arama özelliğini kullanırken kullanıcının gizliliğini korumak için gerekli adımları atın. Birçok kullanıcı, aramalar da dahil olmak üzere telefonlarındaki aktivitelerini gizli bilgi olarak değerlendirir. Kullanıcıların gizliliğini korumak için aşağıdaki ilkelere uyun:

  • Sunuculara kişisel bilgileri göndermeyin ve yapmanız gerekiyorsa günlüğe kaydetmeyin.

    Kişisel bilgiler; adları, e-posta adresleri, fatura bilgileri veya bu tür bilgilerle makul şekilde ilişkilendirilebilecek diğer veriler gibi kullanıcılarınızın kimliğini tanımlayabilecek tüm bilgilerdir. Uygulamanızda bir sunucunun yardımıyla arama kullanılıyorsa arama sorgularıyla birlikte kişisel bilgiler göndermekten kaçının. Örneğin, bir posta koduna yakın işletmeleri arıyorsanız kullanıcı kimliğini de göndermenize gerek yoktur; sunucuya yalnızca posta kodunu gönderin. Kişisel bilgiler göndermeniz gerekiyorsa bunları günlüğe kaydetmeyin. Oturum açmanız gerekiyorsa söz konusu verileri çok dikkatli bir şekilde koruyun ve mümkün olan en kısa sürede silin.

  • Kullanıcılara arama geçmişlerini temizlemeleri için bir yöntem sunun.

    Arama çerçevesi, kullanıcı yazı yazarken uygulamanızın bağlama özgü öneriler sağlamasına yardımcı olur. Bazen bu öneriler, önceki aramalara veya kullanıcının daha önceki bir oturumda gerçekleştirdiği diğer işlemlere dayanır. Kullanıcı, önceki aramaların diğer cihaz kullanıcılarına gösterilmesini istemeyebilir. Uygulamanız önceki arama etkinliklerini ortaya çıkarabilecek öneriler sağlıyorsa kullanıcının arama geçmişini temizlemesi için bir yöntem uygulayın. SearchRecentSuggestions kullanıyorsanız clearHistory() yöntemini çağırabilirsiniz. Özel önerileri uyguluyorsanız içerik sağlayıcınızda kullanıcının yürütebileceği benzer bir "geçmişi temizleme" yöntemi sağlamanız gerekir.