2010-05-28 7 views
7

Una nuova domanda su Android e servizi. Attualmente sto sviluppando un'app che dovrebbe inviare immagini a un server. Dovrebbe anche essere possibile inviare più immagini parallele.Servizio Android Progettazione con filettatura multipla

Ho creato un servizio che crea per ogni immagine una nuova immagine. L'attività può collegarsi a quel servizio e raccogliere informazioni sui progressi. Voglio mostrare lo stato corrente di ogni immagine in una notifica (e quando l'utente fa clic su una notifica, deve essere mostrata un'attività con l'avanzamento per quell'immagine).

Ma ottengo diversi problemi con questo approccio. Ci sono errori con l'associazione, l'evento in attesa di notifica avvia l'attività completamente nuova, quindi perdo informazioni sull'invio di immagini e così via.

Qualcuno può dirmi, come potrei progettare un tale problema in modo appropriato.

thx

risposta

9

vorrei usare un oggetto di controller che si crea nella tua classe application. Questo controller è lo stesso per tutte le attività. Se viene avviato il caricamento di un'immagine, il controller crea un nuovo servizio/thread e ne controlla lo stato e mostra la notifica. Ogni attività ora può chiedere al controllore lo stato del suo processo e mostrare all'utente le informazioni corrispondenti. In questo modo il controllore che vive nell'applicazione lifecyle si legherà al servizio e non all'attività di breve durata

C'è stato un discorso da parte di mark brady su droidcon su questo potete trovare le diapositive su slideshare. Diventa interessante nella parte successiva delle diapositive quando viene spiegato il marchio di architettura utilizzato. Ho combattuto con lo stesso problema per alcune settimane e ho raggiunto gli stessi risultati e sono contento che alla fine esista un qualche tipo di risorsa in rete su questo argomento.

+0

+1 per il puntatore a una presentazione eccellente. – mezmo

+0

ottimo link. funziona bene. grazie – Masala