D
didier51
Membre
- Inscrit
- 29 Août 2013
- Messages
- 1
- Points
- 0
- #1
Bonjour à tout les développeurs android,
y aurait-il des personnes de la communauté qui pourraient m'aider?
Je développe actuellement une application Android et j'ai un petit problème d'affichage.
Un écran noir fait disparaître le préload lorsque je teste la fin du téléchargement (du Thread).
préload : affichage d'une petite roue qui tourne pendant le téléchargement pour faire patienter l'utilisateur.
Ennoncé du problème :
*******************
Dans ma classe principale, j'instancie la classe_téléchargement puis j'appelle sa méthode Web_Service.
La méthode Web_Service :
- Appelle à la classe Thread qui télécharge les données et les insère dans un tableau.
- Teste la fin du Thread
- renvoie le tableau rempli.
Plan du script
**************
classe principale
-----------------
//Afficher le préload
progressDialog.show();
//instancie la classe_telechargement
Datas = new classe_telechargement();
//appelle sa méthode Web_Service (qui télécharge les données et les insère dans un tableau) et récupère le tableau.
tableau = Datas.Web_Service();
//Appel la méthode "setListAdapter" qui permet d'afficher le tableau.
setListAdapter(new Remplissage_List());
Méthode Web_Service dans la classe "classe_telechargement"
----------------------------------------------------------
//méthode qui fait appel à la classe Thread (qui télécharge les données et les insère dans un tableau), test la fin du Thread et renvoie le tableau.
public tableau[] Web_Service() {
//Appelle la classe Thread (qui télécharge les données, les insère dans un tableau)
thread = new Thread(new runGetDatas());
thread.start();
//la méthode join() de la classe Thread temporise le "return" jusqu'à ce que le thread se termine.
thread.join();
return tableau;
}
Le problème :
-------------
La méthode Web_Service renvoie le tableau pour être afficher dans la classe principale.
Si je ne teste pas la fin du téléchargement dans la méthode Web_Service à l'aide de la fonction "thread.join()", cela provoque une erreur.
L'erreur est logique puisque La méthode Web_Service renvoie le tableau pour être afficher dans la classe principale alors qu'il n'est pas encore rempli ou que le téléchargement n'est pas terminé.
Donc, dans la méthode Web_Service, il est indispensable que je teste la fin du téléchargement (de la classe du Thread) qui permet de patienter le retour du tableau pendant qu'il se rempli.
Le téléchargement et le remplissage du tableau se passe bien mais le problème est que lorsque je teste la fin du Thread, un écran noir apparaît, et donc, fait disparaître le préload.
Je suis ouvert à toutes critiques.
Merci à ceux qui veulent bien se pencher sur ce petit problème d'affichage.
y aurait-il des personnes de la communauté qui pourraient m'aider?
Je développe actuellement une application Android et j'ai un petit problème d'affichage.
Un écran noir fait disparaître le préload lorsque je teste la fin du téléchargement (du Thread).
préload : affichage d'une petite roue qui tourne pendant le téléchargement pour faire patienter l'utilisateur.
Ennoncé du problème :
*******************
Dans ma classe principale, j'instancie la classe_téléchargement puis j'appelle sa méthode Web_Service.
La méthode Web_Service :
- Appelle à la classe Thread qui télécharge les données et les insère dans un tableau.
- Teste la fin du Thread
- renvoie le tableau rempli.
Plan du script
**************
classe principale
-----------------
//Afficher le préload
progressDialog.show();
//instancie la classe_telechargement
Datas = new classe_telechargement();
//appelle sa méthode Web_Service (qui télécharge les données et les insère dans un tableau) et récupère le tableau.
tableau = Datas.Web_Service();
//Appel la méthode "setListAdapter" qui permet d'afficher le tableau.
setListAdapter(new Remplissage_List());
Méthode Web_Service dans la classe "classe_telechargement"
----------------------------------------------------------
//méthode qui fait appel à la classe Thread (qui télécharge les données et les insère dans un tableau), test la fin du Thread et renvoie le tableau.
public tableau[] Web_Service() {
//Appelle la classe Thread (qui télécharge les données, les insère dans un tableau)
thread = new Thread(new runGetDatas());
thread.start();
//la méthode join() de la classe Thread temporise le "return" jusqu'à ce que le thread se termine.
thread.join();
return tableau;
}
Le problème :
-------------
La méthode Web_Service renvoie le tableau pour être afficher dans la classe principale.
Si je ne teste pas la fin du téléchargement dans la méthode Web_Service à l'aide de la fonction "thread.join()", cela provoque une erreur.
L'erreur est logique puisque La méthode Web_Service renvoie le tableau pour être afficher dans la classe principale alors qu'il n'est pas encore rempli ou que le téléchargement n'est pas terminé.
Donc, dans la méthode Web_Service, il est indispensable que je teste la fin du téléchargement (de la classe du Thread) qui permet de patienter le retour du tableau pendant qu'il se rempli.
Le téléchargement et le remplissage du tableau se passe bien mais le problème est que lorsque je teste la fin du Thread, un écran noir apparaît, et donc, fait disparaître le préload.
Je suis ouvert à toutes critiques.
Merci à ceux qui veulent bien se pencher sur ce petit problème d'affichage.