Aller au contenu

Besoin d'éclairage sur les AsyncTaskLoader / Manager / ListFragment


Gryphus71

Recommended Posts

Bonjour ... bonsoir ou bonne nuit :)

 

me triturant l'esprit depuis un vingtaines d'heures je me suis dis que chercher un avis extérieur pourrait être bon pour ma santé !

 

Mon dilemme :

Je développe ma première application "complexe", en m'inspirant pas mal de ce tuto :

http://fr.openclassrooms.com/informatique/cours/aller-plus-loin-dans-le-developpement-android/recuperer-des-donnees-distantes

pour une partie du mécanisme de l'appli.

 

Dans un soucis d'optimisation, je voudrais faire un AsyncTaskLoader auquel je préciserais l'url à laquel il doit faire sa requête

et je n'arrive pas à comprendre ce passage du Fragment au Manager, en passant par l'AsyncTaskLoader.

 

... qui doit préciser au Loader l'url à requêter ? le Fragment !? ou faut-il le stocker dans le manager et le modifier via une méthode setUrl ?

et/ou comment passer une url à un AsyncT.L. ? quelques chose comme loadInBackground(String uneURL) {...} !? mais à quel moment peut-on envoyer cette donnée uneUrl ?

 

Je suis perdu ... help je vais me morfondre dans mes cauchemars ^_^'

à plus tard en espérant y voir plus clair demain.

D'avance merci de vos conseils.

Lien vers le commentaire
Partager sur d’autres sites

  • 1 month later...

Qui dit Loader, dit forcement, interface. Ce qui signifie que tu vas sans doute utiliser ton loader dans un fragment ou une activity. Or requêter un serveur à partir d'une classe d'interface n'est pas bon.

Si tu veux correctement structurer les choses, commence par adopter une structure MVC de ton application.

 

Ensuite, dans la partir "Controller" de ton MVC tu requête le serveur correctement avec une librairie adaptée comme Volley (plus souple mais complexe) ou OkHttp (plus simple mais limité). Ces 2 librairies intègrent déjà un mécanisme Asynchrone pour requêter le serveur et tu n'aura plus besoin d'utiliser un Loader.

 

Garde en tête les Loader sont conçus pour réaliser une traitement lourd comme une grosse requête en base ou un calcul algorithmique important mais pas les requêtes réseau.

Lien vers le commentaire
Partager sur d’autres sites

Rejoignez la conversation

Vous pouvez poster maintenant et vous enregistrez plus tard. Si vous avez un compte, connectez-vous maintenant pour poster.

Invité
Unfortunately, your content contains terms that we do not allow. Please edit your content to remove the highlighted words below.
Répondre à ce sujet…

×   Collé en tant que texte enrichi.   Coller en tant que texte brut à la place

  Seulement 75 émoticônes maximum sont autorisées.

×   Votre lien a été automatiquement intégré.   Afficher plutôt comme un lien

×   Votre contenu précédent a été rétabli.   Vider l’éditeur

×   Vous ne pouvez pas directement coller des images. Envoyez-les depuis votre ordinateur ou insérez-les depuis une URL.

×
×
  • Créer...