L'ajout de points à accepté de répondre:
Voir l'utilisation de IntentService dans l'API Android.
par exemple:
public class SimpleWakefulService extends IntentService {
public SimpleWakefulService() {
super("SimpleWakefulService");
}
@Override
protected void onHandleIntent(Intent intent) { ...}
Pour créer un IntentService composant de votre application, de définir une classe qui étend la classe IntentService, et, en son sein, de définir une méthode qui remplace onHandleIntent().
Voir aussi le code source de la IntentService, c'est consutructor et le cycle de vie des méthodes comme onStartCommand..
@Override
public int More ...onStartCommand(Intent intent, int flags, int startId) {
onStart(intent, startId);
return mRedelivery ? START_REDELIVER_INTENT : START_NOT_STICKY;
}
Service un AsyncTask est l'une des meilleures approches pour beaucoup
usecases où la charge utile n'est pas énorme. ou tout simplement créer une classe
l'extension de IntentSerivce. À partir de la version Android 4.0 réseau
les opérations doivent être dans les processus d'arrière-plan sinon, l'application de la compilation/l'échec de la construction.
thread de l'UI. La classe AsyncTask fournit l'une des façons les plus simples pour déclencher une nouvelle tâche de l'UI thread. Pour plus de discussion sur ce sujet, voir le post de blog
de Android guide pour les développeurs:
IntentService est une classe de base pour les Services qui gèrent les requêtes asynchrones (exprimé en Intentions) sur demande. Les Clients envoient des requêtes à travers startService(Intent) appelle; le service est démarré en tant que de besoin, les poignées de chaque Intention de tourner à l'aide d'un thread de travail, et s'arrête de lui-même quand il est à court de travail.
Modèle de conception utilisés dans IntentService
:
Ce "travail de la file d'attente du processeur" motif est couramment utilisé pour décharger des tâches à partir d'une application thread principal. Le IntentService il existe des classes pour simplifier ce modèle et de prendre soin de la mécanique. Pour l'utiliser, étendre IntentService et de mettre en œuvre onHandleIntent(Intention). IntentService recevrez les Intentions, le lancement d'un thread de travail, et arrêter le service le plus approprié.
Toutes les demandes sont traitées sur un seul thread de travail -- ils peuvent prendre aussi longtemps que nécessaire (et ne va pas bloquer l'application de la boucle principale), mais une seule demande sera traitée à la fois.
Le IntentService classe fournit une simple structure pour l'exécution d'une opération sur un seul thread d'arrière-plan. Cela permet de gérer des opérations de longue durée, sans affecter votre interface utilisateur de la réactivité. Aussi, un IntentService n'est pas affecté par la plupart de l'interface utilisateur événements du cycle de vie, de sorte qu'il continue à fonctionner dans des circonstances qui pourraient arrêter une AsyncTask.
Un IntentService a quelques limitations:
Il ne peut pas interagir directement avec votre interface utilisateur. Pour mettre ses résultats dans l'INTERFACE utilisateur, vous devez les envoyer à une Activité.
Les demandes de travail sont exécutées de manière séquentielle. Si une opération est en cours dans un IntentService, et de vous envoyer une autre demande, la demande attend jusqu'à ce que la première opération est terminée.
Une opération en cours d'exécution sur un IntentService ne peut pas être interrompu.
Cependant, dans la plupart des cas
IntentService est le moyen privilégié de simples opérations d'arrière-plan
**
Volley Bibliothèque
Il est appelé bibliothèque de volley-bibliothèque pour le développement d'android applications de mise en réseau
Le code Source est à la disposition du public sur github.
La android la documentation officielle de Meilleures pratiques pour les travaux en arrière-plan:
permet de mieux comprendre l'intention du service, du fil, un gestionnaire de service. et également d'Effectuer les Opérations de Réseau