Dans mes projets, je suis en utilisant BroadcastReceiver
s comme un rappel à partir d'un long thread en cours d'exécution (par exemple. informer l'activité que le téléchargement est terminé et envoyer des données de réponse à partir d'un Travailleur Thread
alors que l'activité peut afficher le message à l'utilisateur..).
Pour utiliser BroadcastReceiver
s, je dois être prudent d'enregistrer et désenregistrer le récepteur de radiodiffusion à chaque fois que je l'utilise et aussi les soins de ce que les messages à envoyer esspecialy quand j'utilise cette méthode pour plus de différentes actions(comme le téléchargement, à la WebService appels, etc..). Et aussi pour envoyer des Objets personnalisés par l'intermédiaire de Diffusion de l'intention, j'ai besoin de faire l'objets d' Parcelable
.
Contrairement à cette approche, j'ai vu aussi le rappel des méthodes d'approche qui semble être plus simple que la méthode que j'utilise. Les méthodes de rappel sont Interface simple les méthodes de mise en œuvre qui peut être utilisé pour obtenir le même effet comme le BroadcastRecaiver en application de messagerie.
Cette approche n'a pas besoin de Parcelable mise en œuvre pour le retour des objets complexes et il n'utilise pas les touches BroadcastReceiver
.. je pense que la mauvaise partie est que j'ai besoin de vérifier l'objet de rappel pour valeur null avant, je tiens à appeler une méthode de rappel.. et aussi pour m'assurer que je suis en cours d'exécution du code à partir de la mise en œuvre sur le thread de l'INTERFACE utilisateur afin que je puisse mettre à jour l'INTERFACE utilisateur sans erreurs.
Ok, j'espère que vous avez compris ce que je voulais dire :).
Maintenant la question est, pensez-vous que la méthode de rappel est meilleur (plus léger, plus propre, plus rapide..) que l' BroadcastReceiver
approche lorsqu'ils sont utilisés à l'intérieur d'une seule demande? (Notez que je ne suis pas en utilisant Android Service
pour le travail de fond.. juste AsyncTask
et Thread
s)
Merci!!!!