Jump to content

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.

Link to comment
Share on other 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.

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Unfortunately, your content contains terms that we do not allow. Please edit your content to remove the highlighted words below.
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...