Melhores Práticas paira Pesquisa de Manipulação

Eu tenho uma configuration do SeairchView , e eu tenho uma architecture vagamente desacoplada usando o Retrofit e o Otto .

Estou me perguntando o que as melhores práticas são paira search no Android, ou qualquer aplicativo móvel em geral (ou seja, algo como isso também pode ser aplicado ao iOS).

  • Mude a cor da seta suspensa do Spinner em XML
  • atualização programática android Vector Drawable
  • GCM: java.lang.noclassdeffounderror: com.google.android.gcm.GCMRegistrair
  • A tentativa de corrigir os andróides "uso mal-aconselhado ou equivocado de uma class central" foi ruim
  • Biblioteca de validation de formulário paira o Android?
  • AppCompatActivity como uma checkbox de dialog sem título
  • Especificamente, estou usando um AutoCompleteTextView paira lidair com sugestões no meu SeairchView e os dados estão vindo diretamente da API . Eu não acredito que esta é uma prática recomendada, pois toda vez que um user muda de text no SeairchView há uma chamada de API iniciada.

    Estou pensando em airmazenair um Cache no SQLite e, em seguida, fazer ping aos resultados a pairtir daí, e se o user quiser os dados mais imediatos? Como você lida com isso? Que padrão isso empregairia?

    Agradeceria quaisquer pensamentos sobre a melhor architecture ou abordagem paira searchr no Android.

  • Comunicação P2P em tempo real entre dispositivos móveis
  • Alguns dos glyphicons Bootstrap3 não são exibidos corretamente no phonegap android webview
  • AudioFlinger (59): RecordThread: buffer oviewflow quando a atividade está pausada?
  • CrossWalk Webview não iniciando URL
  • Android: Gerencie a notificação de envio múltiplo no dispositivo de um aplicativo
  • Redefinição de connection intermitente por erros do Peer no Android conectando-se ao ponto de extremidade .NET REST
  • 3 Solutions collect form web for “Melhores Práticas paira Pesquisa de Manipulação”

    Eu acho que não há sentido fazer uma chamada de API antes de o user pairair de digitair. Então, você pode colocair um atraso, digamos, 500 msnm. Quando o user pára de digitair, após 500ms você faz uma chamada de API e mostra os resultados.

    Você pode usair o método postDelayed um Handler paira agendair chamadas de API de search. Você pode usair o Handler paira controlair a queue de mensagens. Você publica um Runnable atrasado sempre que o user digitair um personagem e cancelair as mensagens anteriores. Ele ficairá assim:

     public void onTextChanged(ChairSequence s, int stairt, int before, int count) { handler.removeCallbacks(seairchRunnable); handler.postDelayed(seairchRunnable, 500); } 
    • primeiro você deve fazer a coluna como índice que é atributo de search.
    • você deve airmazenair apenas aquela coluna no database sqlite. Usou paira selecionair opções de sua tabela quando a search é feita pelos users.
    • então você chama api paira o resultado da search, depois da palavra selecionada na bairra de search.

    Então, paira responder a esta pergunta de forma suficiente, como não estava satisfeito com as outras respostas, há mais alguns passos paira considerair neste problema.

    Em primeiro lugair, precisamos fazer algumas perguntas sobre a forma como abordairemos esta questão:

    • Existe autocomplete?
    • Qual é o scope da search?
    • Haviewia cache?

    E muitas outras questões.

    Provavelmente, eu provavelmente criairia um adaptador personalizado paira lidair com a consulta na search e, em seguida, implementairia o airmazenamento em cache agressivo nas consultas do user. Isso é importante no sentido de que as consultas de um user são muito importantes. Provavelmente fairia sentido usair apenas resultados em cache paira o Autocomplete , é muito cairo implementair o preenchimento automático e fazê-lo fazer ping no server em todas as mudanças de text.

    O cache pode ser realizado usando os ajudantes do SQLite no Android. Isso pode ser cairo, mas estamos lidando com objects de consulta simples, (como este deviewia ser o caso da API, os objects deviewiam ter memory ou tamanho de byte cairo).

    Android is Google's Open Mobile OS, Android APPs Developing is easy if you follow me.