Autore Topic: Activity e Service  (Letto 419 volte)

Offline fedefede

  • Nuovo arrivato
  • *
  • Post: 1
  • Respect: 0
    • Mostra profilo
  • Dispositivo Android:
    Asus Ipad TF300T
  • Sistema operativo:
    Windows Vista, Debian
Activity e Service
« il: 01 Ottobre 2013, 16:38:44 CEST »
0
Salve a tutti,

da qualche giorno sto sviluppando una applicazione android senza molta teoria alle spalle e vorrei avere dei suggerimenti consigli..

Lo scopo dell'applicazione è sostanzialmente quello di implementare una chat con altri browser(non con altri mobile android) usando Google Cloud Messaging for Android per la ricezione asincrona di messaggi da un mio server node JS e php.

L'applicazione è composta da due activity:
-la main activity, una schermata di login per fare il login con il server php (eseguita solo al primo avvio dell'applicazione);
-la chat activity, una schermata con tutti i messaggi recuperati con una richiesta http dal mio server php.

1)Una volta che l'applicazione è lanciata e il login è andato a buon fine, si lancia il servizio che rimane in ascolto dei messaggi da GCM in backgroun. Ogni volta che viene ricevuto un messaggio si appende una notifica la quale, se premuta, fa partire la seconda activity.

L'applicazione quindi lavora in background finchè non si preme su una notifica ricevuta.

2)Una volta che la seconda activity è lanciata, alla ricezione di un nuovo messaggio da parte di GCM, non viene più appesa la notifica, ma viene direttamente, nuovamente lanciata la seconda activity, cioè quella attualmente nello stato RUNNING, provocando l'aggiornamento della lista dei messaggi.

Il funzionamento c'è..ma ho la sensazione di aver fatto qualche cavolata.

Infatti il mio primo intento al punto 2) era quello di non lanciare nuovamente l'activity della chat, nel momento in cui si riceve un nuovo messaggio dal GCM, per aggiornare la lista dei messaggi, ma semplicemente quello di appendere il messaggio nell'activity già in esecuzione, risparmiando così anche una richiesta http.

Il problema è che non sono riuscito ad interagire con l'activity della chat(già RUNNING) dal service che riceve i messaggi dal GCM.

Spero di essere stato chiaro e di ricevere consigli, suggerimenti o anche offese  :-)