A pesquisa é um recurso do usuário fundamental no Android. Os usuários precisam poder pesquisar qualquer informação que esteja disponível para eles, quer o conteúdo esteja localizado no dispositivo ou na Internet. Para ajudar a criar uma experiência de pesquisa consistente para os usuários, o Android fornece um framework de pesquisa que ajuda a implementar a pesquisa no seu app.

Figura 1. Captura de tela de uma caixa de diálogo de pesquisa com sugestões de pesquisa personalizadas.
O framework de pesquisa oferece dois modos de entrada pesquisa: uma caixa de diálogo de pesquisa na parte superior da tela ou um widget de pesquisa (SearchView
) que é incorporado ao layout da atividade. Nos dois casos, o sistema Android ajudará na implementação da pesquisa, enviando as consultas a uma atividade específica que realiza as pesquisas. Você também pode ativar a caixa de diálogo ou o widget de pesquisa para fornecer sugestões enquanto o usuário digita. A Figura 1 mostra um exemplo de caixa de diálogo com sugestões de pesquisa opcionais.
Depois de configurar a caixa de diálogo ou o widget de pesquisa, você pode:
- ativar a pesquisa por voz;
- fornecer sugestões de pesquisa com base em consultas recentes do usuário;
- fornecer sugestões de pesquisa personalizadas que correspondam aos resultados reais nos dados do seu app;
- oferecer sugestões de pesquisa do app na caixa de pesquisa rápida do sistema.
Observação: o framework de pesquisa não fornece APIs para pesquisar seus dados. Para realizar uma pesquisa, é necessário usar APIs adequadas para seus dados. Por exemplo, se os dados estiverem armazenados em um banco de dados SQLite, use as APIs android.database.sqlite
para realizar pesquisas.
Além disso, não há garantia de que o dispositivo forneça um botão dedicado a "PESQUISAR" que invoque a interface de pesquisa no seu app. Ao usar a caixa de diálogo de pesquisa ou uma interface personalizada, é necessário fornecer um botão de pesquisa na IU que ative a interface de pesquisa. Para saber mais, consulte Como invocar a caixa de diálogo de pesquisa.
Os documentos a seguir mostram como usar o framework do Android para implementar a pesquisa.
- Como criar uma interface de pesquisa
- Como configurar seu app para usar a caixa de diálogo ou o widget de pesquisa.
- Como adicionar sugestões de consultas recentes
- Como fornecer sugestões com base em consultas realizadas anteriormente.
- Como adicionar sugestões personalizadas
- Como fornecer sugestões com base em dados personalizados do seu app e oferecê-las na Caixa de pesquisa rápida do sistema.
- Configuração pesquisável
- Documento de referência para o arquivo de configuração pesquisável, embora os outros documentos também discutam o arquivo de configuração em termos de comportamentos específicos.
Como proteger a privacidade do usuário
Ao implementar a pesquisa no seu app, tome medidas para proteger a privacidade do usuário. Muitos usuários consideram que atividades realizadas no smartphone são informações particulares, incluindo pesquisas. Para proteger a privacidade de cada usuário, é necessário obedecer aos seguintes princípios:
- Não envie informações pessoais aos servidores. Caso seja necessário, não as registre.
Informações pessoais são quaisquer informações que possam identificar os usuários pessoalmente, como nomes, endereços de e-mail, informações de faturamento ou outros dados que possam ser razoavelmente relacionados a essas informações. Se o app implementar a pesquisa com assistência de um servidor, evite enviar informações pessoais com as consultas de pesquisa. Por exemplo, se você estiver pesquisando empresas perto de um CEP, não é necessário enviar também o código do usuário. Envie apenas o CEP ao servidor. Caso seja necessário enviar as informações pessoais, não as registre. Caso seja necessário registrá-las, proteja esses dados com muito cuidado e apague-os o quanto antes.
- Ofereça aos usuários uma forma de limpar o histórico de pesquisa.
O framework de pesquisa ajuda o app a fornecer sugestões específicas de contexto enquanto o usuário digita. Às vezes, essas sugestões são baseadas em pesquisas anteriores ou em outras ações realizadas pelo usuário em uma sessão passada. É possível que o usuário não queira que pesquisas anteriores sejam reveladas a outros usuários do dispositivo, caso o usuário compartilhe o dispositivo com um amigo, por exemplo. Se o app fornece sugestões que podem revelar atividades de pesquisa anteriores, implemente a possibilidade de limpar o histórico de pesquisa. Se você estiver usando
SearchRecentSuggestions
, basta chamar o métodoclearHistory()
. Se você estiver implementando sugestões personalizadas, será necessário fornecer um método de "limpar histórico" semelhante no seu provedor de conteúdo que possa ser executado pelo usuário.