2011-02-10 3 views
1

Je construis une application qui effectue des tâches en même temps 3 .->Android: un service unique avec plusieurs threads

  1. Écouter de nouveaux appareils.

  2. Un proxy pour interagir avec le périphérique en temps réel.

  3. Un ensemble de règles métier à exécuter sur les données fournies par les proxys de périphérique.

  4. Et couse une interface utilisateur principale (fil)

Je veux tâche 1,2 et 3 pour exécuter même lorsque l'application est en arrière-plan .

Que faire?

  1. En utilisant 3 services, un pour chaque .. (apparemment pas pratique).

  2. Un seul service peut-il prendre en charge toutes les tâches (un service avec plusieurs types de conception)?

Aidez-nous s'il vous plaît.

Fondamentalement, ce que j'ai l'intention de demander est que c'est un modèle disponible pour effectuer les 3 tâches même si l'application est dans le fond? Si le service est la réponse, comment peut-il être mis en œuvre de manière efficace sans mettre trop de charge sur le système, c'est-à-dire en utilisant 3 services?

Répondre

0

Je voudrais aller à trois threads commencés dans votre action ou (Surface) Voir en fonction du type de mises à jour que vous aurez à l'écran. Lorsque vous faites des threads, vous devez vraiment garder la synchronisation à l'esprit afin que votre application ne tombe pas dans l'accès aux mêmes variables et n'obtienne pas de résultats inattendus.

+0

Merci Jon, Les threads cesseront de fonctionner dès que l'androïde tue l'activité de l'interface utilisateur principale (activité en arrière-plan). Comment pouvons-nous conserver les threads même si l'application est en arrière-plan? –

0

Assurez-vous que votre service fonctionne au premier plan; cela va le faire fonctionner.

Questions connexes