Autore Topic: status Activity con Local o Remote Service?  (Letto 866 volte)

Offline gsources75

  • Utente normale
  • ***
  • Post: 327
  • Respect: +9
    • Google+
    • pepigno75
    • devandroid_it
    • Mostra profilo
  • Dispositivo Android:
    Samsung Galaxy Nexus S - Vodafone Smart -BB Bold- Iphone 4-
  • Play Store ID:
    Giuseppe+Sorce
  • Sistema operativo:
    Ubuntu-Windows Seven- Mac Lion
status Activity con Local o Remote Service?
« il: 09 Agosto 2011, 16:21:42 CEST »
0
Devo sviluppare la classica app che fa il check di un feed e se c'è un aggiornamento di nuovi post mostrare le notifiche se invece l' app è aperta fare aggiornamento senza mostrare la notifica. Controllare se l' app è aperta non è un problema, invece controllare se l' activity è aperta o no ho qualche dubbio.

Praticamente ho utilizzato 2 alternative in parte simili.

La prima è usare Application e memorizzare gli stati delle varie Activity cosi quando ho nuovi feed so già se Application esiste e quale activity è aperta.

La seconda soluzione stilisticamente migliore è creare un Service dove memorizzo i vari stati dell' Activity. Provate tutte e due soluzioni e funzioano.

La terza alternativa che secondo me dovrebbe essere la migliore è utilizzare i Remote Service perchè se è possibile richiamarli da app diverse sarà facile richiamarle anche da qualsiasi AsyncTask che scarica i dati o da qualsiasi classe.

Mi consigliate i Remote Service o i Local Service. Ovviamente se utilizzo i Service li utilizzerò anche per altre mansioni e non solo tenere una variabile in memoria
La domanda stupida è quella che non si fa

Offline Ricky`

  • Amministratore
  • Utente storico
  • *****
  • Post: 3489
  • Respect: +507
    • Github
    • Google+
    • rciovati
    • Mostra profilo
Re:status Activity con Local o Remote Service?
« Risposta #1 il: 13 Agosto 2011, 22:00:08 CEST »
0
Utilizzi un normale service (non serve che sia remoto, può stare tranquillamente nel processo dove risiede la tua applicazione e utilizzare gli ordered broadcast. Avevo scritto il codice che ti allego per farne un tutorial ma poi non ho avuto tempo di scrivere il codice a corredo. Praticamente devi usare due receiver, uno registrato nel manifest e con il quale mostri la notifica e uno registrato al'interno dell'activity con il quale vai invece ad aggiornarla. L'idea è che il receiver nell'activity ha una priorità maggiore di quello registrato nel manifest quindi l'intent che si propaga dal tuo Service passerà prima dal receiver registrato nell'activity che può 
stopparne la propagazione ed evitare che l'altro receiver lo riceva.


Offline gsources75

  • Utente normale
  • ***
  • Post: 327
  • Respect: +9
    • Google+
    • pepigno75
    • devandroid_it
    • Mostra profilo
  • Dispositivo Android:
    Samsung Galaxy Nexus S - Vodafone Smart -BB Bold- Iphone 4-
  • Play Store ID:
    Giuseppe+Sorce
  • Sistema operativo:
    Ubuntu-Windows Seven- Mac Lion
Re:status Activity con Local o Remote Service?
« Risposta #2 il: 13 Agosto 2011, 22:04:06 CEST »
0
Ti ringrazio. Lo proverò prima di partire per le ferie. E' molto interessante
La domanda stupida è quella che non si fa

Offline gsources75

  • Utente normale
  • ***
  • Post: 327
  • Respect: +9
    • Google+
    • pepigno75
    • devandroid_it
    • Mostra profilo
  • Dispositivo Android:
    Samsung Galaxy Nexus S - Vodafone Smart -BB Bold- Iphone 4-
  • Play Store ID:
    Giuseppe+Sorce
  • Sistema operativo:
    Ubuntu-Windows Seven- Mac Lion
Re:status Activity con Local o Remote Service?
« Risposta #3 il: 02 Ottobre 2012, 13:51:31 CEST »
0
Grazie per l' esempio, cmq ho deciso per i Remote Service perchè devo fare più cose contemporaneamente.

1) gestire il BT in background
2) inviare dati al server in background e notificarlo a diverse activity
3) Devo fare pur sempre un Service per altre funzionalità in background
La domanda stupida è quella che non si fa