Tecnologia do Blogger.
RSS

Re: [androidbrasil-dev] SyncAdapter x AlarmManager

Um Service é executado na mesma thread que a aplicação principal, na UI Thread.

What is a Service?

Most confusion about the Service class actually revolves around what it is not:

  • A Service is not a separate process. The Service object itself does not imply it is running in its own process; unless otherwise specified, it runs in the same process as the application it is part of.
  • A Service is not a thread. It is not a means itself to do work off of the main thread (to avoid Application Not Responding errors).

Você pode utilizar um IntentService que serializa a execução de Intents em uma Thread separada.

Lúcio Maciel
luciofm@gmail.com


2013/3/28 Edgard Levy <edgardlevy@gmail.com>
Bom.. pelo q eu tentei entender do syncadapter, ele seria indicado para apps que tem cadastro de usuarios, ateh no stackoverflow tem algumas questoes sobre o uso dele sem um login. No meu caso.. o meu app n teria login, e eu queria aproveitar o momento da chamada do syncadapter pra atualizar os dados do app, só que não consegui implementar isso de uma maneira que ficasse legal. Um exemplo do syncadapter+account manager, é quando vai no menu do android "Contas e Sincronizacao" e adiciona uma conta, (google, exchange, etc).. e daih faz o login e diz o que vai ser sincronizado. Como não era o meu caso, eu uso o alarmmanager + broadcast receiver + service, e só. E tem funcionado bem. Não entendi pq vc usa um asynctaksk num service que já é executado em background.

vlw..

Em quinta-feira, 28 de março de 2013 08h51min50s UTC-3, netolobo escreveu:

Isso mesmo Gink a lógica do sincronismo fico por conta do desenvolvedor.

Em 28/03/2013 03:02, "Gink Labrev" <gink....@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 <des...@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 <diog...@gmail.com> escreveu:
Gink, um GCM não seria uma boa ? 

Diogo Henrique
Rede Sociais: 






Em 26 de março de 2013 14:11, Gink Labrev <gink....@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-...@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-...@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-...@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-...@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.
 
 

  • Digg
  • Del.icio.us
  • StumbleUpon
  • Reddit
  • RSS

0 comentários:

Postar um comentário