La búsqueda es una función de usuario central en Android. Los usuarios deben poder buscar cualquier dato disponible, independientemente de si el contenido se encuentra en el dispositivo o en Internet. Para ayudar a crear una experiencia de búsqueda coherente para los usuarios, Android proporciona un marco de trabajo de búsqueda que te ayuda a implementar la búsqueda en tu aplicación.

Figura 1: Captura de pantalla de un diálogo de búsqueda con sugerencias personalizadas
El marco de trabajo de búsqueda incluye dos modos de entrada de búsqueda: un diálogo de búsqueda en la parte superior de la pantalla y un widget de búsqueda (SearchView
) que puedes incorporar en el diseño de la actividad. En los dos casos, el sistema Android brindará asistencia durante la implementación de la búsqueda, ya que entrega consultas a una actividad específica que realiza las 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 escriba. En la figura 1, se muestra un ejemplo del diálogo de búsqueda con sugerencias de búsqueda opcionales.
Una vez que hayas configurado el diálogo o el widget de búsqueda, podrás hacer lo siguiente:
- Habilitar la búsqueda por voz
- Proporcionar sugerencias de búsqueda basadas en consultas recientes de los usuarios
- Proporcionar sugerencias de búsqueda personalizadas que coincidan con los resultados reales en los datos de tu aplicación
- Brindar las sugerencias de búsqueda de la aplicación en el cuadro de búsqueda rápida de todo el sistema
Nota: El marco de trabajo de búsqueda no proporciona API para buscar en los datos. A fin de realizar una búsqueda, debes usar las API apropiadas para tus datos. Por ejemplo, si los datos se almacenan en una base de datos SQLite, debes usar las API android.database.sqlite
para realizar búsquedas.
Además, no hay garantía de que un dispositivo proporcione un botón de BÚSQUEDA exclusivo que invoque la interfaz de búsqueda en la aplicación. Cuando utilizas 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 Cómo invocar el diálogo de búsqueda.
En los siguientes documentos, se explica cómo usar el marco de trabajo 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.
- Cómo agregar 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 también ofrecerlas en el cuadro de búsqueda rápida de todo el sistema.
- Configuración que permite búsquedas
- Un documento de referencia para el archivo de configuración de búsqueda (aunque en los otros documentos también se analiza el archivo de configuración en cuanto a comportamientos específicos).
Cómo proteger la privacidad del usuario
Cuando implementes la búsqueda en la aplicación, toma medidas para proteger la privacidad del usuario. Muchos usuarios consideran que sus actividades en el teléfono, incluidas las búsquedas, son información privada. Para proteger la privacidad de cada usuario, debes cumplir con los siguientes principios:
- No envíes información personal a los servidores, pero, si debes hacerlo, 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 u otra información que pueda vincularse razonablemente a dichos datos. 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 estás buscando negocios cerca de un código postal, no necesitas enviar el ID de usuario también; envía solo el código postal al servidor. Si debes enviar la información personal, no la registres. Si debes registrarla, protege esos datos con mucho cuidado y bórralos lo antes posible.
- Proporciona a los usuarios una forma de borrar su historial de búsqueda.
El marco de trabajo 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 realizadas por el usuario en una sesión anterior. Es posible que un usuario no desee que se revelen búsquedas anteriores a otros usuarios del dispositivo, por ejemplo, si el usuario comparte el dispositivo con un amigo. Si tu aplicación proporciona sugerencias que pueden revelar actividades de búsqueda anteriores, debes implementar una opción para que el usuario borre el historial de búsqueda. Si usas
SearchRecentSuggestions
, puedes llamar al métodoclearHistory()
. Si estás implementando sugerencias personalizadas, deberás proporcionar un método similar para "borrar el historial" en el proveedor de contenido que el usuario pueda ejecutar.