Autore Topic: Comunicazione Service con Activity  (Letto 1296 volte)

Offline mimmog

  • Utente senior
  • ****
  • Post: 731
  • Respect: +11
    • MisterX_Dev
    • Mostra profilo
  • Dispositivo Android:
    Galaxy Note e Galaxy Nexus
  • Play Store ID:
    MisterX_Dev
  • Sistema operativo:
    Windows 7
Comunicazione Service con Activity
« il: 21 Marzo 2012, 11:46:23 CET »
0
Scusate l'ignoranza ma ho una activity (il cui nome è ActList) che lancia un Service che periodicamente :
1) controlla l'esistenza di alcuni dati
2) se li trova notifica l'estistenza di questi dati
3) ripassa la palla all'activity (ActList) che lo ha lanciato che ha sua volta effettua un refresh della listview con il metodo goRefresh();

La mia domanda è : come faccio a fare in modo che il service lanci questo metodo ? il mio pensiero, anche se non sò se è corretto, è fare una cosa del tipo :
Codice (Java): [Seleziona]
ActList activity_da_aggiornare = new ActList();
activity_da_aggiornare.goRefresh();

è corretto ? è pulto ? si può fare ?

Grazie

Offline djdedo

  • Utente normale
  • ***
  • Post: 209
  • Respect: +15
    • Mostra profilo
  • Dispositivo Android:
    Galaxy S2
Re:Comunicazione Service con Activity
« Risposta #1 il: 21 Marzo 2012, 15:08:37 CET »
0
Ciao sicuramente quello non è il modo corretto e non credo nemmeno che funzioni. Ho trovato questo topic che potrebbe fare al caso tuo
http://stackoverflow.com/questions/4300291/example-communication-between-activity-and-service-using-messaging

Offline mimmog

  • Utente senior
  • ****
  • Post: 731
  • Respect: +11
    • MisterX_Dev
    • Mostra profilo
  • Dispositivo Android:
    Galaxy Note e Galaxy Nexus
  • Play Store ID:
    MisterX_Dev
  • Sistema operativo:
    Windows 7
Re:Comunicazione Service con Activity
« Risposta #2 il: 21 Marzo 2012, 15:12:02 CET »
0
Io questo SorGaetano's Blog: ANDROID : Comunicazione tra Service e Activity quale sarà il metodo corretto ora.....usare il Binder od il Receiver ?  :-\

Offline djdedo

  • Utente normale
  • ***
  • Post: 209
  • Respect: +15
    • Mostra profilo
  • Dispositivo Android:
    Galaxy S2
Re:Comunicazione Service con Activity
« Risposta #3 il: 21 Marzo 2012, 15:14:02 CET »
0
LOL quello che ti piace di più. Credo che sia più semplice utilizzare un broadcast receiver comunque

Offline mimmog

  • Utente senior
  • ****
  • Post: 731
  • Respect: +11
    • MisterX_Dev
    • Mostra profilo
  • Dispositivo Android:
    Galaxy Note e Galaxy Nexus
  • Play Store ID:
    MisterX_Dev
  • Sistema operativo:
    Windows 7
Re:Comunicazione Service con Activity
« Risposta #4 il: 21 Marzo 2012, 15:16:44 CET »
0
Ma io non voglio una cosa semplice vorrei sapere quello che è più giusto usare....  ???

Offline denper

  • Utente normale
  • ***
  • Post: 290
  • Respect: +60
    • Mostra profilo
    • Anddenper
  • Dispositivo Android:
    Moto G
  • Play Store ID:
    denper
  • Sistema operativo:
    Window 7, Windows XP
Re:Comunicazione Service con Activity
« Risposta #5 il: 21 Marzo 2012, 15:18:37 CET »
0
Ma io non voglio una cosa semplice vorrei sapere quello che è più giusto usare....  ???
A mio avviso il Binder è il modo più elegante e corretto.
Tutti sanno che una cosa è impossibile da realizzare, finché arriva uno sprovveduto che non lo sa e la inventa. [A.Einstein]

Proteggi la tua privacy! Utilizza GhostPhone! https://play.google.com/store/apps/details?id=com.denper.gp
Giochi a Winforlife e Superenalotto e sei stanco di controllare le tue schedine manualmente? Prova Checkwin: https://play.google.com/store/apps/details?id=com.denper.checkwintrial

Offline djdedo

  • Utente normale
  • ***
  • Post: 209
  • Respect: +15
    • Mostra profilo
  • Dispositivo Android:
    Galaxy S2
Re:Comunicazione Service con Activity
« Risposta #6 il: 21 Marzo 2012, 15:18:57 CET »
0
Secondo me comunque la strada più corretta è quella del broadcast perchè così service ed interfaccia grafica sono completamente indipendenti

Offline mimmog

  • Utente senior
  • ****
  • Post: 731
  • Respect: +11
    • MisterX_Dev
    • Mostra profilo
  • Dispositivo Android:
    Galaxy Note e Galaxy Nexus
  • Play Store ID:
    MisterX_Dev
  • Sistema operativo:
    Windows 7
Re:Comunicazione Service con Activity
« Risposta #7 il: 21 Marzo 2012, 15:23:10 CET »
0
Dici ? e allora il binding che lo hanno inventato a fare ?:)

Offline denper

  • Utente normale
  • ***
  • Post: 290
  • Respect: +60
    • Mostra profilo
    • Anddenper
  • Dispositivo Android:
    Moto G
  • Play Store ID:
    denper
  • Sistema operativo:
    Window 7, Windows XP
Re:Comunicazione Service con Activity
« Risposta #8 il: 21 Marzo 2012, 15:26:51 CET »
0
Dici ? e allora il binding che lo hanno inventato a fare ?:)
La documentazione ufficiale propone Bind
Android Interface Definition Language (AIDL) | Android Developers
questo è un esempio semplice

  Implementing Remote Interface Using AIDL - Marakana


In ogni caso la mia è una considerazione personale, poi lo stesso risultato puoi ottenerlo in diversi modi, anche con classi e variabili statiche per esempio...
Tutti sanno che una cosa è impossibile da realizzare, finché arriva uno sprovveduto che non lo sa e la inventa. [A.Einstein]

Proteggi la tua privacy! Utilizza GhostPhone! https://play.google.com/store/apps/details?id=com.denper.gp
Giochi a Winforlife e Superenalotto e sei stanco di controllare le tue schedine manualmente? Prova Checkwin: https://play.google.com/store/apps/details?id=com.denper.checkwintrial

Offline Ricky`

  • Amministratore
  • Utente storico
  • *****
  • Post: 3489
  • Respect: +506
    • Github
    • Google+
    • rciovati
    • Mostra profilo
Re:Comunicazione Service con Activity
« Risposta #9 il: 21 Marzo 2012, 15:29:18 CET »
0
A mio avviso il binder è indicato se il service espone un tanti metodi e che come tale sarebbe un po' scomodo da gestire con dei receiver.
Secondo me per quello che devo fare la soluzione più comoda è quella di usare un intent.

Offline mimmog

  • Utente senior
  • ****
  • Post: 731
  • Respect: +11
    • MisterX_Dev
    • Mostra profilo
  • Dispositivo Android:
    Galaxy Note e Galaxy Nexus
  • Play Store ID:
    MisterX_Dev
  • Sistema operativo:
    Windows 7
Re:Comunicazione Service con Activity
« Risposta #10 il: 21 Marzo 2012, 15:36:02 CET »
0
A mio avviso il binder è indicato se il service espone un tanti metodi e che come tale sarebbe un po' scomodo da gestire con dei receiver.
Secondo me per quello che devo fare la soluzione più comoda è quella di usare un intent.

Quindi il receiver ?