Integrar os recursos de pesquisa do Android ao app

Teste o jeito do Compose
O Jetpack Compose é o kit de ferramentas de UI recomendado para Android. Saiba como adicionar a funcionalidade de pesquisa no Compose.

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. Uma caixa 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 ajuda 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 fazer o seguinte:

  • Ative 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 UI que ative a interface de pesquisa. Para mais informações, consulte Invocar a caixa de diálogo de pesquisa.

As páginas a seguir 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 consultas 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 seu 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.

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 dos usuários, obedeça 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 informações pessoais, evite registrá-las. 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. Se o aplicativo fornece sugestões que podem revelar atividades de pesquisa anteriores, implemente uma maneira para o usuário limpar o histórico de pesquisa. Se você estiver usando SearchRecentSuggestions, chame o método clearHistory(). 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.