Autore Topic: Recuperare dati da un service  (Letto 1228 volte)

Offline SoreX

  • Nuovo arrivato
  • *
  • Post: 6
  • Respect: 0
    • Mostra profilo
  • Dispositivo Android:
    HTC Magic
  • Sistema operativo:
    Ubuntu 10.04
Recuperare dati da un service
« il: 20 Febbraio 2013, 09:59:15 CET »
0
Buongiorno a tutti,

sono in cerca di suggerimenti per un problema che non so bene come affrontare ..mi spiego.

Devo sviluppare un applicazione che inizialmente sarà client-server, successivamente diventerà in parte peer-to-peer. Il mio problema riguarda la aprte client-server. Allora la mia app android sarà il client che comunicherà con un server raggiungibile dall'esterno, tramite UDP; all'interno della mia app ho un thread che si occupa di inviare richieste al server, e un service perennemente in ascolto che recupera la risposta del server ..

Il problema è questo : come fa l'activity che ha fatto partire il thread richiedente a recuperare la sua risposta che ha il service ? come faccio a farli comunicare ?
L'unica mia idea in propositi e mantenermi un HashMap nella classe Application, che viene vista sia dai service che dalle activity, ma è un metodo un pò artigianale .. qualcuno sa suggerirmi qualcosa di meglio ? magari che 'avvisi' l'activity non appena viene ricevuta la risposta (stile listener per interderci, non so se è possibilie sinceramente .. :-P )

Offline bradipao

  • Moderatore globale
  • Utente storico
  • *****
  • Post: 4043
  • keep it simple
  • Respect: +567
    • Github
    • Google+
    • bradipao
    • Mostra profilo
  • Dispositivo Android:
    Nexus 5
  • Play Store ID:
    Bradipao
  • Sistema operativo:
    W7
Re:Recuperare dati da un service
« Risposta #1 il: 20 Febbraio 2013, 10:22:15 CET »
0
Hai già consultato le spiegazioni di base sui Service?

Services | Android Developers
Android Service Tutorial
NON rispondo a domande nei messaggi privati
Bradipao @ Play Store

Offline SoreX

  • Nuovo arrivato
  • *
  • Post: 6
  • Respect: 0
    • Mostra profilo
  • Dispositivo Android:
    HTC Magic
  • Sistema operativo:
    Ubuntu 10.04
Re:Recuperare dati da un service
« Risposta #2 il: 20 Febbraio 2013, 10:51:48 CET »
0
si ma non mi ha chiarito moltissimo le idee ..

Offline GabMarioPower

  • Moderatore globale
  • Utente senior
  • *****
  • Post: 606
  • Respect: +152
    • Github
    • Google+
    • gabrielemariotti
    • GabMarioPower
    • Mostra profilo
  • Play Store ID:
    GAB+MARIO+DEV
  • Sistema operativo:
    Ubuntu 14.04 , Win 10
Re:Recuperare dati da un service
« Risposta #3 il: 20 Febbraio 2013, 12:26:32 CET »
+1
Potresti registrare sull'activity un BroadcastReceiver nel metodo onResume().
Il service quando ha terminato invia un IntentBroadcast che viene intercettato proprio da quel Broadcast.

Il Broadcast registrato nell'activity può a questo punto recuperare i dati inseriti nell'Intent.
Attenzione a ricordarti di togliere la registrazione nel metodo onPause().


Offline SoreX

  • Nuovo arrivato
  • *
  • Post: 6
  • Respect: 0
    • Mostra profilo
  • Dispositivo Android:
    HTC Magic
  • Sistema operativo:
    Ubuntu 10.04
Re:Recuperare dati da un service
« Risposta #4 il: 20 Febbraio 2013, 12:33:19 CET »
0
ah ecco,  non ho mai usato i broadcast receiver..  grazie mille,  provo subito :-D

Offline bradipao

  • Moderatore globale
  • Utente storico
  • *****
  • Post: 4043
  • keep it simple
  • Respect: +567
    • Github
    • Google+
    • bradipao
    • Mostra profilo
  • Dispositivo Android:
    Nexus 5
  • Play Store ID:
    Bradipao
  • Sistema operativo:
    W7
Re:Recuperare dati da un service
« Risposta #5 il: 20 Febbraio 2013, 14:17:10 CET »
0
ah ecco,  non ho mai usato i broadcast receiver..  grazie mille,  provo subito :-D

...e se apri il secondo link che ti ho postato trovi anche la spiegazione di come si usa...
NON rispondo a domande nei messaggi privati
Bradipao @ Play Store

Offline GabMarioPower

  • Moderatore globale
  • Utente senior
  • *****
  • Post: 606
  • Respect: +152
    • Github
    • Google+
    • gabrielemariotti
    • GabMarioPower
    • Mostra profilo
  • Play Store ID:
    GAB+MARIO+DEV
  • Sistema operativo:
    Ubuntu 14.04 , Win 10
Re:Recuperare dati da un service
« Risposta #6 il: 20 Febbraio 2013, 14:34:24 CET »
0
ah ecco,  non ho mai usato i broadcast receiver..  grazie mille,  provo subito :-D

Oltre ai due link suggeriti (e vogella è uno dei siti più completi in termini di tutorial che si possa trovare in rete), c'è un piccolo tutorial dei broadcast anche qui.
http://www.anddev.it/index.php/topic,10114.0.html