Autore Topic: AsyncTask and Service  (Letto 641 volte)

Offline psicomant

  • Utente junior
  • **
  • Post: 95
  • Respect: 0
    • Mostra profilo
  • Sistema operativo:
    OSX 10.6.5
AsyncTask and Service
« il: 26 Novembre 2010, 11:56:47 CET »
0
Salve a tutti!

Ha senso chiamare da dentro un Service un AsyncTask per effettuare l'inoltro dei dati ad un server http?
Lo chiedo perche' ho letto che l'AsyncTAsk, appunto non blocca la UI durante la sua esecuzione....il servizio pero non e' UI, quindi in teoria e' inutile.
Dunque basta che richiami le funzionalita' per effettuare tale submit da dentro il Service...
Ho dedotto bene?  :-P

Offline Ricky`

  • Amministratore
  • Utente storico
  • *****
  • Post: 3489
  • Respect: +507
    • Github
    • Google+
    • rciovati
    • Mostra profilo
Re:AsyncTask and Service
« Risposta #1 il: 26 Novembre 2010, 12:13:27 CET »
0
Ho dedotto bene?  :-P

Sicuramente cercare di dedurre con la propria testa è una cosa giusta e importante però a volte è necessario leggere la documentazione perchè magari quello che si è dedotto è giusto in parte. Contrariamente a quanto può sembrare ovvio, anche dentro a un Service è necessario far partire operazioni pesanti all'interno di un thread. Dai un occhio qui:

Service | Android Developers
Citazione
Note that services, like other application objects, run in the main thread of their hosting process. This means that, if your service is going to do any CPU intensive (such as MP3 playback) or blocking (such as networking) operations, it should spawn its own thread in which to do that work. More information on this can be found in Application Fundamentals: Processes and Threads. The IntentService class is available as a standard implementation of Service that has its own thread where it schedules its work to be done.

Offline psicomant

  • Utente junior
  • **
  • Post: 95
  • Respect: 0
    • Mostra profilo
  • Sistema operativo:
    OSX 10.6.5
Re:AsyncTask and Service
« Risposta #2 il: 26 Novembre 2010, 14:55:34 CET »
0
Ma quindi il consiglio e':

"meglio se fai partire un thread che effettua il submit e gestisce la risposta dal server" ? :P

Offline Ricky`

  • Amministratore
  • Utente storico
  • *****
  • Post: 3489
  • Respect: +507
    • Github
    • Google+
    • rciovati
    • Mostra profilo
Re:AsyncTask and Service
« Risposta #3 il: 26 Novembre 2010, 15:16:14 CET »
0
Ma quindi il consiglio e':

"meglio se fai partire un thread che effettua il submit e gestisce la risposta dal server" ? :P

Devi ;)

Offline psicomant

  • Utente junior
  • **
  • Post: 95
  • Respect: 0
    • Mostra profilo
  • Sistema operativo:
    OSX 10.6.5
Re:AsyncTask and Service
« Risposta #4 il: 26 Novembre 2010, 15:52:25 CET »
0
OBBEDISCO!  :D