Autore Topic: Thread o Service? Quale scegliere per un servizio sempre attivo?  (Letto 425 volte)

Offline MarcoDuff

  • Moderatore globale
  • Utente senior
  • *****
  • Post: 941
  • Respect: +156
    • Google+
    • marcoduff
    • Mostra profilo
    • MarcoDuff's Blog
  • Dispositivo Android:
    HTC Desire
  • Market Developer Name:
    MarcoDuff
  • Sistema operativo:
    Windows 7
Re:Thread o Service? Quale scegliere per un servizio sempre attivo?
« Risposta #15 il: 20 Gennaio 2012, 14:27:33 CET »
0
E' una sorta di monitoraggio dell'applicazione e per l'invio di alcune informazioni.

Sempre per capire: se è cosi, che senso ha fare girare questo servizio sempre e non soltanto quando l'applicazione è avviata?
Le mie Applicazioni Android | Il mio Blog

Io faccio parte del Gruppo AndDev.it LOGTFO, tu no? Allora GTFO!
Quando un utente fornisce una risposta utile si può ringraziarlo premendo il tasto  alla destra del titolo del post. (Ricky` rulez)

Offline Grifith

  • Utente junior
  • **
  • Post: 55
  • Respect: +1
    • Mostra profilo
    • La mia prima applicazione...
Re:Thread o Service? Quale scegliere per un servizio sempre attivo?
« Risposta #16 il: 20 Gennaio 2012, 15:13:06 CET »
0
Sempre per capire: se è cosi, che senso ha fare girare questo servizio sempre e non soltanto quando l'applicazione è avviata?

Ma infatti, quando l'applicazione viene spenta, non faccio nulla... Il problema è nato a causa del blocco del thread, quando l'applicazione viene messa in background.

Forse però, sarebbe ora di far capire meglio a tutti... Ciò che mi serve è un "thread" che ogni 30 sec effettui una connessione verso un server.
A seconda della risposta che ottiene, non fa niente, oppure mi farà vedere determinate informazioni (questo era già stato realizzato con una activity e un thread e con dei bundle di risposta). Il problema nasce nel momento in cui viene messa in background l'applicazione o nel momento in cui si tiene il telefono in tasca (nel senso, nei casi in cui del telefono non te ne importa nulla perchè stai facendo determinate operazioni ceh io ti ho richiesto di fare, che possono richiedere molto tempo). A causa di una sitauzione del genere, pare che il thread vado in stop automatico (viene buttato giù direttamente dal terminale). Io però non vorrei che questo accada. Deve essere il mio utente a dirmi: "Basta, m'hai rotto le scatole, muori"...

Spero di essermi spiegato in qualceh modo... :D
« Ultima modifica: 20 Gennaio 2012, 15:18:38 CET da Grifith »

Offline MarcoDuff

  • Moderatore globale
  • Utente senior
  • *****
  • Post: 941
  • Respect: +156
    • Google+
    • marcoduff
    • Mostra profilo
    • MarcoDuff's Blog
  • Dispositivo Android:
    HTC Desire
  • Market Developer Name:
    MarcoDuff
  • Sistema operativo:
    Windows 7
Re:Thread o Service? Quale scegliere per un servizio sempre attivo?
« Risposta #17 il: 20 Gennaio 2012, 15:31:01 CET »
0
Ciò che mi serve è un "thread" che ogni 30 sec effettui una connessione verso un server.

Ciò che ti serve è AlarmManager.setRepeating()
Le mie Applicazioni Android | Il mio Blog

Io faccio parte del Gruppo AndDev.it LOGTFO, tu no? Allora GTFO!
Quando un utente fornisce una risposta utile si può ringraziarlo premendo il tasto  alla destra del titolo del post. (Ricky` rulez)

Offline Grifith

  • Utente junior
  • **
  • Post: 55
  • Respect: +1
    • Mostra profilo
    • La mia prima applicazione...
Re:Thread o Service? Quale scegliere per un servizio sempre attivo?
« Risposta #18 il: 20 Gennaio 2012, 15:37:25 CET »
0
Ciò che ti serve è AlarmManager.setRepeating()

Sto dando un occhiata. Sembra interessante ma ho qualche dubbio sul concetto di triggerAtTime... Non capisco cosa intendano!?
Tempo in cui l'allarme si deve spegnere???

Se invece impostassi il Thread come deamon?

Offline MarcoDuff

  • Moderatore globale
  • Utente senior
  • *****
  • Post: 941
  • Respect: +156
    • Google+
    • marcoduff
    • Mostra profilo
    • MarcoDuff's Blog
  • Dispositivo Android:
    HTC Desire
  • Market Developer Name:
    MarcoDuff
  • Sistema operativo:
    Windows 7
Re:Thread o Service? Quale scegliere per un servizio sempre attivo?
« Risposta #19 il: 20 Gennaio 2012, 15:51:01 CET »
0
Sto dando un occhiata. Sembra interessante ma ho qualche dubbio sul concetto di triggerAtTime... Non capisco cosa intendano!?
Tempo in cui l'allarme si deve spegnere???

Il triggerAtTime dipende dal tipo di allarme che imposti (parametro type). Quello che secondo me serve a te è il RTC_WAKEUP (ma se puoi usa un RTC). In questo caso il valore del triggerAtTime è proprio  System.currentTimeMillis() (ovvero immediatamente).

Se invece impostassi il Thread come deamon?

Non hai nessuna garanzia che android te lo tenga in vita (praticamente non esistono daemon in android).
Le mie Applicazioni Android | Il mio Blog

Io faccio parte del Gruppo AndDev.it LOGTFO, tu no? Allora GTFO!
Quando un utente fornisce una risposta utile si può ringraziarlo premendo il tasto  alla destra del titolo del post. (Ricky` rulez)

Offline Grifith

  • Utente junior
  • **
  • Post: 55
  • Respect: +1
    • Mostra profilo
    • La mia prima applicazione...
Re:Thread o Service? Quale scegliere per un servizio sempre attivo?
« Risposta #20 il: 20 Gennaio 2012, 15:53:44 CET »
0
Il triggerAtTime dipende dal tipo di allarme che imposti (parametro type). Quello che secondo me serve a te è il RTC_WAKEUP (ma se puoi usa un RTC). In questo caso il valore del triggerAtTime è proprio  System.currentTimeMillis() (ovvero immediatamente).

Ok... Vediamo che riusciamo a creare con l'AlarmManager

Non hai nessuna garanzia che android te lo tenga in vita (praticamente non esistono daemon in android).

Non ho garanzie... Vabbè... Intanto prendo tempo con questa modifica... Speriamo in bene! :D