Cómo integrar funciones de búsqueda de Android a tu app

La búsqueda es una función de usuario central en Android. Los usuarios deben poder buscar cualquier dato que esté disponible, ya sea que el contenido se encuentre en el dispositivo o en Internet. A fin de ayudar a crear una experiencia de búsqueda coherente para los usuarios, Android proporciona un framework de búsqueda que te ayuda a implementar la búsqueda en tu aplicación.

Figura 1: Un diálogo de búsqueda con sugerencias de búsqueda personalizadas

El framework de búsqueda ofrece dos modos de entrada de búsqueda: un diálogo de búsqueda en la parte superior de la pantalla o un widget de búsqueda (SearchView) que puedes incorporar en el diseño de la actividad. En cualquier caso, el sistema Android te ayuda con la implementación de la búsqueda, ya que entrega consultas a una actividad específica que realiza búsquedas. También puedes habilitar el diálogo o el widget de búsqueda para proporcionar sugerencias de búsqueda a medida que el usuario escribe. En la Figura 1, se muestra un ejemplo del diálogo de búsqueda con sugerencias de búsqueda opcionales.

Una vez que configures el diálogo o el widget de búsqueda, puedes hacer lo siguiente:

  • Habilitar la búsqueda por voz
  • Proporcionar sugerencias de búsqueda basadas en consultas recientes de los usuarios
  • Proporciona sugerencias de búsqueda personalizadas que coincidan con los resultados reales en los datos de tu aplicación.
  • Ofrecer las sugerencias de búsqueda de la aplicación en el cuadro de búsqueda rápida de todo el sistema

Nota: El framework de búsqueda no proporciona APIs para buscar en los datos. A fin de realizar una búsqueda, debes usar las API apropiadas para tus datos. Por ejemplo, si tus datos se almacenan en una base de datos SQLite, usa las APIs de android.database.sqlite para realizar búsquedas.

Además, no hay garantía de que un dispositivo proporcione un botón de BÚSQUEDA dedicado que invoque la interfaz de búsqueda en tu aplicación. Cuando usas el diálogo de búsqueda o una interfaz personalizada, debes proporcionar un botón de búsqueda en la IU que active la interfaz de búsqueda. Para obtener más información, consulta Invoca el diálogo de búsqueda.

En las siguientes páginas, se muestra cómo usar el framework de Android para implementar la búsqueda:

Cómo crear una interfaz de búsqueda
Cómo configurar tu aplicación para que use el diálogo de búsqueda o el widget de búsqueda.
Agrega sugerencias de consultas recientes
Cómo proporcionar sugerencias basadas en consultas utilizadas anteriormente.
Cómo agregar sugerencias personalizadas
Cómo proporcionar sugerencias basadas en datos personalizados de tu aplicación y ofrecerlas en el cuadro de búsqueda rápida de todo el sistema
Configuración que permite búsquedas
Es un documento de referencia para el archivo de configuración de búsqueda. En los otros documentos, también se analiza el archivo de configuración en términos de comportamientos específicos.

Protege la privacidad del usuario

Cuando implementes la búsqueda en tu aplicación, toma medidas para proteger la privacidad del usuario. Muchos usuarios consideran que las actividades que realizan en sus teléfonos, incluidas las búsquedas, son información privada. Para proteger la privacidad de los usuarios, sigue estos principios:

  • No envíes información personal a los servidores y, si es necesario, no la registres.

    La información personal es cualquier dato que pueda identificar personalmente a los usuarios, como sus nombres, direcciones de correo electrónico, datos de facturación y otros datos que puedan vincularse razonablemente a esa información. Si tu aplicación implementa la búsqueda con la ayuda de un servidor, evita enviar información personal junto con las consultas de búsqueda. Por ejemplo, si buscas empresas cerca de un código postal, no necesitas enviar el ID de usuario; envía solo el código postal al servidor. Si debes enviar información personal, evita registrarla. Si debes registrarla, protege esos datos con mucho cuidado y bórralos lo antes posible.

  • Brindar a los usuarios una forma de borrar su historial de búsqueda

    El framework de búsqueda ayuda a tu aplicación a proporcionar sugerencias específicas del contexto mientras el usuario escribe. A veces, estas sugerencias se basan en búsquedas anteriores o en otras acciones que el usuario realizó en una sesión anterior. Es posible que un usuario no desee que se revelen búsquedas anteriores a otros usuarios de dispositivos. Si tu aplicación proporciona sugerencias que puedan revelar actividades de búsqueda anteriores, implementa una forma para que el usuario borre su historial de búsqueda. Si usas SearchRecentSuggestions, puedes llamar al método clearHistory(). Si implementas sugerencias personalizadas, debes proporcionar un método similar para "borrar el historial" en tu proveedor de contenido que el usuario pueda ejecutar.