A pesquisa é um recurso do usuário fundamental no Android. Os usuários precisam ser capazes de pesquisar todos os dados disponíveis, estejam o conteúdo localizado no dispositivo ou na Internet. Para ajudar a criar uma experiência de pesquisa consistente para os usuários, o Android oferece um framework de pesquisa que ajuda a implementar a pesquisa no app.
![](https://developer.android.com/static/images/search/search-suggest-custom.png?authuser=0000&hl=pt)
Figura 1. Uma caixa de diálogo de pesquisa com sugestões de pesquisa personalizadas.
O framework de pesquisa oferece dois modos de entrada de pesquisa: uma caixa de diálogo de pesquisa na parte de cima da
tela ou um widget de pesquisa (SearchView
) que pode ser incorporado ao layout da
atividade. Em ambos os casos, o sistema Android auxilia na implementação da pesquisa
entregando consultas a uma atividade específica que realiza pesquisas. Também é possível ativar
a caixa de diálogo ou o widget de pesquisa para fornecer sugestões de pesquisa à medida que o usuário digita. A Figura 1 mostra um
exemplo da caixa de diálogo de pesquisa com sugestões de pesquisa opcionais.
Depois de configurar a caixa de diálogo ou o widget de pesquisa, você pode fazer o seguinte:
- Ativar pesquisa por voz.
- Fornecer sugestões de pesquisa com base nas consultas recentes do usuário.
- Forneça sugestões de pesquisa personalizadas que correspondam aos resultados reais nos dados do seu app.
- Oferecer sugestões de pesquisa do seu app na Caixa de pesquisa rápida do sistema.
Observação: o framework de pesquisa não oferece 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 um dispositivo forneça um botão dedicado a "PESQUISAR" que invoque a interface de pesquisa no seu aplicativo. 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 Invocar a caixa de diálogo
de pesquisa.
As páginas abaixo mostram como usar o framework do Android para implementar a pesquisa:
- Criar uma interface de pesquisa
- Como configurar seu app para usar a caixa de diálogo ou o widget de pesquisa.
- Adicionar sugestões de consulta recentes
- Como fornecer sugestões com base em consultas realizadas anteriormente.
- Adicionar sugestões personalizadas
- Como fornecer sugestões com base em dados personalizados do app e oferecê-las na caixa de pesquisa rápida do sistema.
- Configuração pesquisável
- Um documento de referência para o arquivo de configuração pesquisável. Os outros documentos também discutem o arquivo de configuração em termos de comportamentos específicos.
Proteja a privacidade do usuário
Ao implementar a pesquisa no app, tome medidas para proteger a privacidade do usuário. Muitos usuários consideram as próprias atividades no smartphone, incluindo pesquisas, informações particulares. Para proteger a privacidade dos usuários, obedeça aos seguintes princípios:
- Não envie informações pessoais para os servidores. Se for preciso, não as registre.
Informações pessoais são todas as informações que podem identificar seus usuários, como nomes, endereços de e-mail, informações de faturamento ou outros dados que possam ser razoavelmente vinculados a essas informações. Caso seu app implemente a pesquisa com a ajuda 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 será necessário enviar também o ID do usuário. Envie apenas o CEP para o servidor. Se for necessário enviar informações pessoais, evite registrá-las. Caso seja necessário registrá-los, proteja esses dados com muito cuidado e apague-os o mais rápido possível.
- Ofereça aos usuários uma forma de limpar o histórico de pesquisa.
O framework de pesquisa ajuda o aplicativo 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 outras ações realizadas pelo usuário em uma sessão anterior. Um usuário pode não querer que pesquisas anteriores sejam reveladas a outros usuários do dispositivo. Se o aplicativo oferecer sugestões que possam revelar atividades de pesquisa anteriores, implemente uma forma de o usuário limpar o histórico de pesquisa. Se você estiver usando
SearchRecentSuggestions
, chame o métodoclearHistory()
. Se você estiver implementando sugestões personalizadas, será necessário fornecer um método de "limpar histórico" semelhante no provedor de conteúdo que possa ser executado pelo usuário.