Ho molte attività che sollevano attività in background; le attività passeranno come se fossero state implementate una callback listener, in modo che le attività in background possano generare un evento nelle attività. Le attività a loro volta possono mostrare qualcosa nell'interfaccia utente per indicare che un'attività in background è stata superata o non è riuscita.EventBus vs Callbacks, da utilizzare quando?
In alternativa, potrei usare uno EventBus, in cui ottengo l'attività di registrarsi come listener/subscriber. Posso avere un'attività in background per aumentare un evento sull'EventBus e l'attività che lo ascolta può gestirlo.
Quali sono i vantaggi di uno rispetto all'altro? Quando useresti l'uno sull'altro? (Codice pulizia? Performance? Caveats?)
Follow-up: ho finito con l'uso di EventBus. Il codice è decisamente molto più pulito e non ci sono callback appesi ovunque. L'IDE (IntelliJ) pensa che i metodi onEvent
sono inutilizzati, così ho creato un'annotazione
@Target({ElementType.METHOD})
public @interface EventBusHook {}
e lo mise sopra le mie onEvent
metodi. Quindi Alt + fatto clic su di esso e ha chiesto a IntelliJ di non trattarlo come non utilizzato.
@EventBusHook
public void onEvent(MyEventType myEventType){
userei un servizio locale associato dove vengono lanciate attività e un'attività che si lega a quel servizio e crea un "vincolo" per inviare i risultati – pskink