Autore Topic: come stampare i dati da handler a UI e connettersi al servizio da più activity  (Letto 609 volte)

Offline aeroxr1

  • Utente junior
  • **
  • Post: 76
  • Respect: 0
    • Mostra profilo
  • Dispositivo Android:
    galaxy nexus
  • Sistema operativo:
    window 8.1
Ciao,
sto implementando un progetto e ho iniziato da poco Android da come avete potuto vedere nei millemila topic aperti. Veniamo al dunque.

Ho un servizio di tipo Bound (creato da altri) a cui mi devo connettere da un actiivity soprastante.
Già pronto c'era pure l'handler che gestiva l'arrivo dei msg dal servizio all'activity.

Problemi :
1- Ora io vorrei che, a seconda dei msg che manda il servizio, andare a scrivere in alcune label presenti nel layout dell'activity. Adesso questo l'ho fatto fare dall'interno dell'handler, ma ho notato che ho dei rallentamenti della UI quando il numero dei msg che mi arrivano aumenta di molto.
Credo sia dovuto al fatto che dall'handler provo a scrivere direttamente all'interno della UI , giusto ?

2- Vorrei stoppare il servizio alla pressione di un tasto. Ho provato utilizzando unbindservice ,ma il servizio continua ad inviarmi messaggi all'handler, dove sbaglio ?

3- se io volessi passare il controllo di questo servizio da un activity 1 ad un activity 2 , quale è il modo più corretto di farlo ? io per ora l'ho fatto passando dalla prima alla seconda activity l'oggetto del servizio che ho creato nell'activity 1 (pippo) e nella seconda activity ho reimpostato l'handler del servizio facendo :
pippo.setHandler(pippoHandler);
(funziona, ma c'è un modo più corretto di fare questa cosa ? :) )


Grazie a tutti per l'aiuto :)
« Ultima modifica: 22 Settembre 2014, 15:01:28 CEST da aeroxr1 »

Offline aeroxr1

  • Utente junior
  • **
  • Post: 76
  • Respect: 0
    • Mostra profilo
  • Dispositivo Android:
    galaxy nexus
  • Sistema operativo:
    window 8.1
Re:come stampare i dati da handler a UI e connettersi al servizio da più activity
« Risposta #1 il: 23 Settembre 2014, 15:47:06 CEST »
0
Il mio problema più urgente di quelli sopra detti è la gestione dell'handler..

Nella stesso layout ho una glsurfaceview + un paio di textview.

Le textview vengono "riempite" tramite l'handler che è collegato al servizio.

Ora sul mio galaxy nexus se faccio si che l'handler scriva sulle textview va tutto a scatti, mentre va tutto correttamente se non faccio scrivere l'handler nelle textview, mentre sul galaxy nexus 7 va tutto correttamente.
 Avete qualche idea ?

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:come stampare i dati da handler a UI e connettersi al servizio da più activity
« Risposta #2 il: 23 Settembre 2014, 15:51:15 CEST »
0
Avete qualche idea ?

Sarebbe proprio il caso di cominciare ad usare i tool come traceview, e fare performance profiling per capire dove è che viene speso il grosso del tempo dello "scatto".
NON rispondo a domande nei messaggi privati
Bradipao @ Play Store

Offline aeroxr1

  • Utente junior
  • **
  • Post: 76
  • Respect: 0
    • Mostra profilo
  • Dispositivo Android:
    galaxy nexus
  • Sistema operativo:
    window 8.1
Re:come stampare i dati da handler a UI e connettersi al servizio da più activity
« Risposta #3 il: 23 Settembre 2014, 21:37:04 CEST »
0
Vai perfetto farò così ;)