2010-03-13 6 views
5

Quelqu'un peut-il recommander un bon cadre pour la gestion des événements dans Android? Il s'agit d'événements de logique métier tels que UserUpdatedEvent. Je cherche quelque chose de similaire au EventBus fourni par GWT-EVENT mais pour une JVM qui supporte les références faibles.Un cadre EventBus pour Android

+1

DroidParts comprend un EventBus: http://droidparts.org – yanchenko

Répondre

3

Je ne suis pas sûr d'un bus d'événement autant de sens dans Android. C'est utile dans GWT, parce que l'interface utilisateur peut devenir très complexe. En Android, ils doivent être très simples car les ressources et l'écran immobilier sont très limités. Cependant, si vous en avez vraiment besoin, il devrait être relativement simple d'écrire le vôtre. C'est essentiellement le modèle d'observateur.

+0

La raison est que dans notre application, nous pouvons vouloir beaucoup de nombreux gestionnaires pour un événement comme « joueur a marqué ». – benstpierre

+0

Oui, je pourrais voir dans le cas d'un jeu que c'est utile. Il est probablement plus rapide d'écrire le vôtre que d'en trouver un. –

+0

Les choses auraient pu être modifiées à partir du moment où cette réponse a été postée. À travers de nombreuses activités et fragments, je pense que la prise d'avantages de EventBus serait une bonne solution. – Robert

8

Vous pouvez donner guava EventBus un essai - il semble fonctionner très bien et a une interface très propre.

2

Vous pouvez utiliser RoboGuice avec son EventManager. C'est vraiment une belle bibliothèque. Je l'ai utilisé dans un projet et il est similaire à celui inclus dans GWT. Fonctionne très bien avec des annotations: http://code.google.com/p/roboguice/wiki/Events

5

J'ai utilisé la classe intégrée IntentService pour gérer les événements. Il traite les demandes de manière asynchrone à partir du thread d'interface utilisateur principal, au moyen de demandes d'intention. Chaque intention est ajoutée à la file d'attente d'IntentService et traitée séquentiellement.

Un tutoriel décent commencé pour obtenir IntentService is available at mobiletuts.

+0

Utilisation intéressante d'IntentService pour le processus asyn –