1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119
|
public class forum extends ListActivity {
public static String [] tableauIdArticle = new String[]{"idArticle1","idArticle2","idArticle3","idArticle4","idArticle5"};
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.cours);
// Préload : Instance et Parametre progressDialog
progressDialog = new ProgressDialog(this);
//ProgressDialog progressDialog = null;
// Préload : On ajoute un message à notre progress dialog
progressDialog.setMessage("Chargement en cours");
// Préload : Affichage le préload
progressDialog.show();
// 1 - Instancier la classe "Activite_Cours_Asynctask_Identifiant"
// Telecharger le fichier xml contenant l'id client, le parcer et récupérer l'objet "id client"
ObjetRetourIdClient = new Activite_Cours_Asynctask_Identifiant(this);
ObjetRetourIdClient.execute();
//-------------------------------------------------------------------
// 1.1 - Retour du résultat du traitement Asynctask
//Cela permet de récuperer sans erreur "identifiantClientApres" dans la classe "Activite_Cours"
try {
retourIdClient = ObjetRetourIdClient.get();
} catch (InterruptedException e1) {
e1.printStackTrace();
} catch (ExecutionException e1) {
e1.printStackTrace();
}
int indexTableauObjet = 0;
int indexTableauCereals = 0;
int positionSwitch;
//Boucle balayant les 5 articles du tableau tableauIdArticle" afin de télécharger leurs cotations.
for(String iDArticle : tableauIdArticle){
// 2 - Instancier la classe Activite_Cours_Asynctask_identifiant_echeance()
//------------------------------------------------------
// Telecharger le fichier xml contenant les 5 id échéances et les 5 échéances par produit,
// le parcer et récupérer le tableau contenant les 5 id_echeances et les 5 échéances"
ObjetRetourIdentifiantEchance = new Activite_Cours_Asynctask_identifiant_echeance(this, iDArticle, retourIdClient);
ObjetRetourIdentifiantEchance.execute();
//------------------------------------------------------------------
// 2.1 - Retour du résultat du traitement Asynctask
//Cela permet de récuperer sans erreur "tableauIdEcheancesRetour" dans la classe "Activite_Cours"
try {
tableauIdEcheancesRetour = ObjetRetourIdentifiantEchance.get();
} catch (InterruptedException e1) {
e1.printStackTrace();
} catch (ExecutionException e1) {
e1.printStackTrace();
}
positionSwitch = -1; //Initialisation
// Balayer le tableau contenant les 5 id_echeance et les 5 echeance , tableauIdEcheances contient [10]éléments
// Avec id_echeance et appelle la methode permattant de télécharger les cotations de chaque id_echeances
//contenu du tableau : 0 = id_echeance1, 1 = echeance1, 2 = id_echeance2, 3 = echeance2, 4 = id_echeance3, 5 = echeance3,...
for(String IdEcheance : tableauIdEcheancesRetour){
positionSwitch++;
//positionSwitch = contenu du tableau : 0 = id_echeance1, 1 = echeance1, 2 = id_echeance2, 3 = echeance2, 4 = id_echeance3, 5 = echeance3,...
//La position du switch récupere seulement les nombres impaires contenant les id_echeances
switch (positionSwitch)
{
case 0 :
case 2 :
case 4 :
case 6 :
case 8 :
// 3 - Instancier la classe Activite_Cours_Asynctask_Recuperation_Cotations()
//------------------------------------------------------
// La Classe Telecharge le fichier contenant les cotations par id echéances et le parce
// Le requete se fait par par l'intermédiare des idEcheances
ObjetAsynctaskRecuperationCotations_3 = new Activite_Cours_Asynctask_Recuperation_Cotations(this, IdEcheance, retourIdClient);
ObjetAsynctaskRecuperationCotations_3.execute();
//------------------------------------------------------------------
// 3.1 - Attente du résultat du traitement Asynctask
//Cela permet de récuperer les attributs de la clase Asynctask_3 "les cotations des articles" dans la classe "Activite_Cours"
try {
ObjetAsynctaskRecuperationCotations_3.get();
} catch (InterruptedException e) {
e.printStackTrace();
} catch (ExecutionException e) {
e.printStackTrace();
}
//-------------------------------------------------------
// 4 - Remplissage des titres et des cotations dans le tableau objet (afin d'afficher les cotations)
//------------------------------------------------------
//Dans le "switch case", remplir le tableau avec les titres "String" aux position "indexTableauObjet++" 0:6:12:18:24,
//en Sachant que "indexTableauObjet++" est indexé avant utilisation.
//Si non, à l'exterieur du "switch case", remplir le tableau avec les cotations "objet" aux position 1:2:3:4:5, 7:8:9:10:11, ...
...
}//Fin switch 1
}//Fin For
}//fin du For de la bouble balayant le tableau des produits
// 5 - Appelle la classe "setListAdapter" afin d'afficher les cotations
setListAdapter(new Remplissage_List());
//-------------------------------------
//Faire disparaitre le préload
progressDialog.dismiss();
//--------------------------
} //Fin de la methode onCreate
//-------------------------- |