2010-01-16 7 views
2

J'ai besoin d'avoir un gps courant tout le temps dans mon application, mais je ne sais pas s'il vaut mieux le lancer comme un fil dans l'activité ou si je devais créer un service puis dans le service , jeter le filthreads ou service

Quelqu'un peut-il m'aider ?? Je vous remercie!!

P.D: Désolé pour mon anglais


Ma réponse doesnt se trouvent dans la façon dont mon application fonctionnera parce que je veux que ma demande va à l'arrière-plan et il fonctionne. Je vais essayer d'expliquer ce que mon application consiste: Il a une activité qui démarre un service avec le gps, les emplacements de gps sont comparés avec d'autres emplacements qu'il a dans un fichier. Lorsqu'une condition est vraie, alors il démarre un autre service exécutant un lecteur multimédia. Donc, si je regarde une autre application ou si j'ai l'appareil dans ma poche, je veux que mon application continue à fonctionner.

Répondre

0

Pourriez-vous m'expliquer s'il vous plaît? Parce que nous devons savoir ce que votre application doit faire. Lorsque votre application est toujours visible, vous n'avez pas besoin d'un thread ou d'un service, vous devez implémenter un écouteur et l'enregistrer dans le LocationManager. Lorsque votre application doit passer en arrière-plan, vous devez implémenter un service.

0

Deux choses que vous devez considérer:

  1. Si les informations GPS est nécessaire uniquement pour votre application ont alors un fil d'informations GPS pools chaque seconde ou intervalle défini par vous. De cette façon, votre application obtient les informations du GPS et vous n'avez pas à compliquer les choses en faisant un service. Rappelez-vous, en faisant un fil dans votre application, vous devez démarrer votre application afin que vous puissiez obtenir des informations GPS.
  2. Dites maintenant que vous voulez également des informations GPS pour d'autres applications. Ensuite, l'utilisation d'un service est une bonne idée. De cette manière, d'autres applications peuvent également obtenir des informations GPS et les utiliser dans leur application. Bien sûr, cela n'arrivera pas comme par magie que toutes les applications peuvent obtenir les informations GPS en exécutant le service. Vous devrez écrire du code et fournir des interfaces pour que toutes les autres applications ainsi que votre application sachent interagir avec le service.

Maintenant, en utilisant un fil dans l'application est plus rapide et soigné si elle répond à vos besoins. Cependant, comme je l'ai mentionné, votre application doit commencer avant d'utiliser les informations GPS.

Avec Service, vous pouvez même exécuter le service au démarrage. Vous n'avez donc pas besoin de démarrer votre application pour démarrer le GPS. Cependant, sauf si nécessaire aller pour le fil dans l'application.

1

Je suppose que votre réponse dépend de la façon dont votre application fonctionnera. Si vous souhaitez recevoir les données GPS même après que votre application a été mise en arrière-plan en appuyant sur le bouton d'accueil ou le bouton de retour, vous devriez l'avoir dans un service puisque le cycle de vie d'un service est différent de celui d'une activité.

Si les données GPS est uniquement nécessaire dans votre application et vous ne pas besoin ceux de l'application est fermée alors les discussions sont une meilleure option que Kavitesh a mentionné, les discussions sont une approche beaucoup plus rapide et plus facile