Botão de pesquisa de aplicativos Android
-
22-09-2019 - |
Pergunta
Eu tenho tentado fazer do meu aplicativo implementar a pesquisa rápida incorporada, semelhante à forma como é feito no "App/Pesquisa/Invoke de Pesquisa" da Apidemos. Eu tentei de tudo, desde tentar seguir diferentes exemplos, copiar o código exatamente como está no Apidemos.
Tudo o que encontrei para os primeiros se preocupa com versões mais antigas do SDK e simplesmente não funcionou. Quanto às coisas que eu realmente posso correr e ver trabalhando em Apidemos, tentei copiar o seguinte
com.example.android.apis.app.SearchInvoke.java
com.example.android.apis.app.SearchQueryResults.java
com.example.android.apis.app.SearchSuggestionSampleProvider.java
res/layout/search_invoke.xml
res/layout/search_query_results.xml
res/values/arrays.xml
res/values/strings.xml
res/xml/searchable.xml
... and everything under "Search Samples" in AndroidManifest.xml
Essa cópia me dá uma visão que se parece exatamente com a que estou enfrentando ao executar Apidemos, mas quando clico no botão de pesquisa, na caixa de pesquisa rápida, o Android sempre abre uma janela do navegador, com os resultados da pesquisa do Google para os dados fornecidos consulta. Simplesmente não consigo encontrar o componente crítico no Apidemos que informa ao Android que quero usar meu próprio código personalizado para lidar com a solicitação de pesquisa.
Eu realmente apreciaria alguma ajuda nesse assunto. Tanto a documentação quanto outros recursos on -line parecem muito ausentes quando se trata disso.
Obrigado.
Solução
Para referência, quatro meses (e Deus sabe quantas tentativas) mais tarde, eu encontrei a parte da documentação que perdi, que se toda a caixa de pesquisa se comportasse com os resultados da pesquisa do navegador, em vez de passá -los para o meu própria atividade. Tudo se resume a um pequeno aviso encontrado aqui:
Observe que todas as seqüências visíveis do usuário devem ser fornecidas na forma de referências "@String". As cordas codificadas, que não podem ser localizadas, não funcionarão corretamente nos metadados de pesquisa.
Outras dicas
Tente ler isto primeiro. Se isso não ajudar, você pode tentar olhar para o Exemplo de pesquisa De um dos meus livros - esse exemplo se integra à caixa de pesquisa rápida e talvez lhe dê mais pistas.
Além dos exemplos fornecidos pelo Commonsware.com, você pode ver o dicionário pesquisável no diretório de amostras do 1.6 SDK.
http://developer.android.com/guide/samples/searchabledictionary/index.html
Eu estava errado antes ... a documentação do SDK tem uma explicação de Thurough nos documentos para SearchManager Que eu sugiro que você dê uma olhada. Além disso, como o Commonsware mencionou, o entrada no blog também é um bom recurso.