Android searchframework

648 visualizações

Publicada em

Lightning Talk apresentado no AndroidRec 2012

Publicada em: Tecnologia
  • Seja o primeiro a comentar

  • Seja a primeira pessoa a gostar disto

Android searchframework

  1. 1. Android Search Framework Integrando seu app com a busca nativa do AndroidJoão Paulo Magalhães @JPMagalhaes_
  2. 2. 2 28/04/2012Sobre o quê mesmo vamosfalar hoje? @JPMagalhaes - AndroidRec 2012
  3. 3. 3 28/04/2012Agenda Android Search Framework Implementando a busca em seu app Search Dialog SearchWidget Auto-complete/Sugestões customizadas  Quick Search Box Observações @JPMagalhaes - AndroidRec 2012
  4. 4. 4 28/04/2012Android Search Framework Busca é uma característica essencial do Android O quê e onde buscar?  Tudo que interessar ao usuário[?!]  Conteúdo pode estar armazenado localmente ou na internet Objetivo:  Criar uma experiência de busca consistente @JPMagalhaes - AndroidRec 2012
  5. 5. 5 28/04/2012Android Search Framework Ajuda-nos na implementação da busca  Exibindo a view de input  Entregando queries para seu app  Exibindo os resultados Não nos ajuda na busca!  Nem com nossos dados Formas de interação  Search Dialog  SearchView  Quick Search Box @JPMagalhaes - AndroidRec 2012
  6. 6. 6 28/04/2012Implementando a busca emseu app [1/4] Nós precisamos:  searchable.xml  SearchActivity  Search UI O processo a partir do SearchButton.onCLick()  A interface desejada é criada  A cada letra inserida  Uma consulta ao ContentProvider pode ser feita -> Auto-complete/Sugestões Customizadas  OnEnter()  Intent de busca é criado pelo sistema  Query é inserida  SearchActivity é iniciada @JPMagalhaes - AndroidRec 2012
  7. 7. 7 28/04/2012[2/4] Configurando sua Busca res/xml/searchable.xml  android:label é o único atributo exigido para buscas locais  Não é visível  Deve ser o nome do app  Neste ponto, nosso app estará visível para buscas  Settings -> Searchable items  Na verdade, não!  android:includeInGlobalSearch="true"  Aceita vários outros atributos  Adicionar de acordo com as features desejadas @JPMagalhaes - AndroidRec 2012
  8. 8. 8 28/04/2012[3/4] Criando umaSearchableActivity Activity que realiza a busca baseada em uma query e apresenta os resultados @JPMagalhaes - AndroidRec 2012
  9. 9. 9 28/04/2012[4/4] Nunca esqueça doManifest.xml! @JPMagalhaes - AndroidRec 2012
  10. 10. 10 28/04/2012Search Dialog Caixa de busca flutuante  Aparece no topo da tela  Botão de busca  onSearchRequested() Nada disso funciona até a busca seja habilitada  Em uma atividade específica  Para todas as atividades do app @JPMagalhaes - AndroidRec 2012
  11. 11. 11 28/04/2012[1/2] SearchView widget Android3.0+ Normalmente colocada na ActionBar Mesmas funcionalidades do Search Dialog  Com um pouco mais de trabalho…  Inserir o botão de busca no ActionBar/Menu  res/menu/search_menu.xml @JPMagalhaes - AndroidRec 2012
  12. 12. 12 28/04/2012[2/2] SearchView widget Configurar o SearchView  Linkar o componente com nossa configuração de busca @JPMagalhaes - AndroidRec 2012
  13. 13. 13 28/04/2012Auto-complete/Sugestõescustomizadas Para incluir na Quick Seach Box:  android:includeInGlobalSearch="true”  Settings -> Searchable items  Ativar a busca em seu app @JPMagalhaes - AndroidRec 2012
  14. 14. 14 28/04/2012[1/3] ObservaçõesContent Provider Iguala qualquer outro Content Provider Deve implementar pelo menos a função query()  Retornando as sugestões em um Cursor Cada sugestão (linha) retornada deve ter colunas específicas  Assim o sistema pode exibir os valores  Quais colunas? NEXT! @JPMagalhaes - AndroidRec 2012
  15. 15. 15 28/04/2012[2/3] ObservaçõesBanco de dados Em geral, uma tabela exclusiva para sugestões  Ou re-utilize uma de suas tabelas Colunas específicas obrigatórias  BaseColumns._ID  SearchManager.SUGGEST_COLUMN_TEXT_1  SearchManager.SUGGEST_COLUMN_TEXT_2  … @JPMagalhaes - AndroidRec 2012
  16. 16. 16 28/04/2012[3/3] ObservaçõesInstanciando a SearchView Implementar OnQueryTextListener  onQueryTextChange(String arg0)  onQueryTextSubmit(String query) searchView.setOnQueryTextListener(this); @JPMagalhaes - AndroidRec 2012
  17. 17. 17 28/04/2012Referências Android Developers - Search  http://developer.android.com/guide/topics/s earch/index.html Apresentação Código fonte – github @JPMagalhaes - AndroidRec 2012
  18. 18. Android Search Framework Integrando seu app com a busca nativa do AndroidJoão Paulo Magalhaes @JPMagalhaes_

×