Ops... onde está escrito "no server" leia-se "no service"
Em 28 de março de 2013 22:40, Pedro Subutzki <Pepeu> <falecompepeu@gmail.com> escreveu:
SIm... o server usa a mesma thread da aplicação.O que vc poderia fazer para "burlar" isso, é no server criar uma thread para fazer suas ações em background.Mas o IntentService foi feito pra resolver esse problema portanto é o melhor caminho. :)Se tiver dúvidas avisa!Em 28 de março de 2013 12:13, Gink Labrev <gink.labrev@gmail.com> escreveu:Pedro,Então, tinha pesquisado e lido que o Service mesmo sendo assíncrono, era executado na Thread UI, então a solução que pensei foi em usar o AsyncTask para utilizar uma thread separada. Não conhecia o IntentService.
Vai facilitar bastante , já que a app tem bastante processamento em background.Lucio,Valeu pelo esclarecimento.Neto e Edgard,Interessante seus comentários sobre o SyncAdapter.Só não entendi ainda porque há pouco material sobre ele. Não encontrei nem livros mais usados, como o do Reto Meyer, Commons Guy e Ricardo Lecheta.Apps como Gmail, Whatsapp, Facebook, Twitter fazem bastante uso dele.O Twitter é uma app que acho muito bacana neste ponto. Se entar em uma área sem nenhuma conexão 3G e abrir a app, os tweets estão atualizadíssimos pois ficou executando tudo em background, mesmo com a app fechada.Outra que tem um mecanismo de sincronização bem eficiente é o Whatsapp.Além disso, se a app tiver login, imagino que usar o AccountManager seja melhor que salvar o id em SharedPreferences rs..Em 28 de março de 2013 11:07, Pedro Subutzki <Pepeu> <falecompepeu@gmail.com> escreveu:
Olá Gink,Então não entendi o porquê de usar uma AsyncTask no processo em background. Qual o motivo?Aqui eu uso AlarmManager + Broadcast Receiver + IntentService (que como o Lúcio já falou roda num processo diferente da "aplicação principal").
Ao invés de usa classe estender de Service, faça ela estender de IntentService, sobreescreva o método onHandleIntent e seu problema será resolvido (não esqueça de retirar essa Asynctask aí)!Não sei se ficou muito claro mas dúvida dá uma olhada na documentação:
http://developer.android.com/reference/android/app/IntentService.html
--
Abraços,
Pedro Subutzki
__________________________________________HADI - Makes SQLite in Android easy and simple
https://github.com/PepeuCps/HadiEm 28 de março de 2013 03:02, Gink Labrev <gink.labrev@gmail.com> escreveu:
Diogo,Não sei exatamente como GCM resolveria o problema de sincronização. Até que eu saiba, este é usado para push. Poderia explicar melhor ?Pedro,Não envio dados a partir da UI. É em background, como falei. O AlarmManager chama Broadcast Receiver que chama Service que chama AsyncTask. Ufa!O que falei foi em uuid para garantir um valor único para cada item de sincronização e assim, poder confirmar o recebimento do item.Neto,Interessante. Não sabia disso. Estou buscando saber mais sobre esse Adapter.Pelo que estou entendendo, a lógica ainda é por conta da app. O SyncAdapter apenas faz uma chamada a esta.Este tb usa o AccountManager, que não conheço bem tb.Abs,Em 26 de março de 2013 14:25, Neto Lobo <desilio@gmail.com> escreveu:
Gink pelo que eu saiba (sei só por alto) o SyncAdapter serve para economizar bateria, tipo ao invés de cada app fazer sincronia quando bem entende, os apps que implementam o SyncAdapter fazem sincronia sempre ao mesmo tempo.Em 26 de março de 2013 14:16, Diogo Henrique <diogjp10@gmail.com> escreveu:
Gink, um GCM não seria uma boa ?
Em 26 de março de 2013 14:11, Gink Labrev <gink.labrev@gmail.com> escreveu:
Pessoal,--Alguém aqui já usou o SyncAdapter ? [1][2]Aparentemente, este resolve problemas de sincronização de dados entre o server e o mobile, mas tenho encontrado pouca informação na web.Tenho usado um AlarmManager para fazer a sincronização, chamando um broadcast receiver e este, um service que chama um AsyncTask. Só que tem ocorrido uns problemas estranhos.Mantenho três estados para meus itens: PENDENT, ON_UPLOAD, SENT. Mas ás vezes fica travado em ON_UPLOAD. Acredito que seja quando o server não responde, independente de processar ou não a requisição. E ás vezes, chegam dados duplicados mesmo com esse status intermediário para evitar este tipo de coisa.Estou pensando em gerar um uuid para cada item e confirmar de tempo em tempos de o server responde afirmativo para este uuid antes de setar como SENT.Enfim, alguém sabe dizer se o SyncAdapter abstraí esses problemas de sincronização? Ou conhece uma forma melhor de fazer isso ?Abs,
You received this message because you are subscribed to the Google Groups "Android Brasil - Dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email to androidbrasil-dev+unsubscribe@googlegroups.com.
For more options, visit https://groups.google.com/groups/opt_out.
--
You received this message because you are subscribed to the Google Groups "Android Brasil - Dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email to androidbrasil-dev+unsubscribe@googlegroups.com.
For more options, visit https://groups.google.com/groups/opt_out.
--Confiram meus apps Android no Google Play
--
You received this message because you are subscribed to the Google Groups "Android Brasil - Dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email to androidbrasil-dev+unsubscribe@googlegroups.com.
For more options, visit https://groups.google.com/groups/opt_out.
--
You received this message because you are subscribed to the Google Groups "Android Brasil - Dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email to androidbrasil-dev+unsubscribe@googlegroups.com.
For more options, visit https://groups.google.com/groups/opt_out.
--
You received this message because you are subscribed to the Google Groups "Android Brasil - Dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email to androidbrasil-dev+unsubscribe@googlegroups.com.
For more options, visit https://groups.google.com/groups/opt_out.
--
You received this message because you are subscribed to the Google Groups "Android Brasil - Dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email to androidbrasil-dev+unsubscribe@googlegroups.com.
For more options, visit https://groups.google.com/groups/opt_out.
--
Abraços,
Pedro Subutzki
__________________________________________HADI - Makes SQLite in Android easy and simple
https://github.com/PepeuCps/Hadi
Abraços,
Pedro Subutzki
__________________________________________
HADI - Makes SQLite in Android easy and simple
https://github.com/PepeuCps/Hadi
https://github.com/PepeuCps/Hadi
You received this message because you are subscribed to the Google Groups "Android Brasil - Dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email to androidbrasil-dev+unsubscribe@googlegroups.com.
For more options, visit https://groups.google.com/groups/opt_out.
0 comentários:
Postar um comentário