Ho un servizio associato che è responsabile del download dei file e quindi conosce lo stato/l'avanzamento del download. E l'interfaccia utente (frammento o attività) deve mostrare/aggiornare l'avanzamento del download dal servizio.Come aggiornare l'interfaccia utente dal servizio Android utilizzando RxJava/RxAndroid
In realtà penso che il modo comune sia utilizzare BroadcastReciever
o un CallBack
da Attività. Ma ho sentito da qualche parte sull'utilizzo di RxJava (Programmazione ReactiveX) e della classe del mediatore (e di Dagger per iniettarlo sia in servizio che in attività) che è menzionato di seguito.
Quindi la mia domanda è come gestire RxJava con questo gruppo di cose? Qualche esempio di codice? C'è un altro modo efficace rispetto all'utilizzo di intenti?
risorse: More efficient way of updating UI from Service than intents? [vedi il primo aggiornamento risposta]
Personalmente preferisco usare il servizio Messenger: http://developer.android.com/reference/android/os/Messenger.html – mjp66
Pensavo di avere un esempio di utilizzo di Messenger da qualche parte qui, immagino di no, ma ecco una buona post che dettaglia il suo utilizzo: http://stackoverflow.com/questions/4300291/example-communication-between-activity-and-service-using-messaging – mjp66
basta usare il pattern "local bound service", senza bisogno di librerie esterne e è la soluzione più veloce – pskink