Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Les deux révisions précédentes Révision précédente
Prochaine révision
Révision précédente
sio2:projet_depann_tout_2 [2025/01/12 19:40] – [Compléter l'application Android DepannTout (Travail côté Client)] dthevenotsio2:projet_depann_tout_2 [2025/02/09 18:47] (Version actuelle) – [Importation des données avec le module Volley] dthevenot
Ligne 69: Ligne 69:
 ==== Installation de la bibliothèque Volley ==== ==== Installation de la bibliothèque Volley ====
    
-La bibliothèque Volley facilite la gestion asynchrone des appels réseaux.+La bibliothèque Volley facilite la gestion asynchrone des appels réseaux.https://google.github.io/volley/
    
 Pour l'intégrer au projet, il faut modifier le fichier **build.gradle.kts (module app)**. Il faut ajouter la  ligne suivante dans les dépendances : **implementation(libs.volley)**  Pour l'intégrer au projet, il faut modifier le fichier **build.gradle.kts (module app)**. Il faut ajouter la  ligne suivante dans les dépendances : **implementation(libs.volley)** 
Ligne 99: Ligne 99:
 <code> <code>
 // url de la requête au serveur  // url de la requête au serveur 
-String url = "http://adressIPServeurWeb/ ReparTout/getLesRendezVous.php"; RequestQueue queue = Volley.newRequestQueue(this); +String url = "http://adressIPServeurWeb/ReparTout/getLesRendezVous.php";  
 +RequestQueue queue = Volley.newRequestQueue(this); 
 Log.i("volley-requete","volley1 ok");  Log.i("volley-requete","volley1 ok"); 
 JSONObject jsonObject = null; // objet JSON envoyé au serveur  JSONObject jsonObject = null; // objet JSON envoyé au serveur 
Ligne 125: Ligne 126:
 Log.i("volley-requete","fin ok");  Log.i("volley-requete","fin ok"); 
 </code> </code>
 +
 +**adressIPServeurWeb** est à remplacer par l'adresse IP **10.0.2.2** car le périphérique de l'émulateur Android n'interprète pas le localhost de la machine hôte. 10.0.2.2 est un alias pour accéder à l’hôte local de votre ordinateur à partir d’un émulateur Android.
 +
 Après envoi de la requête au serveur, 2 écouteurs sont créés, ils seront sollicités selon le succès ou l'échec de la requête.  Après envoi de la requête au serveur, 2 écouteurs sont créés, ils seront sollicités selon le succès ou l'échec de la requête. 
  
 L'objet RequestQueue gère la file d'attente des requêtes.  L'objet RequestQueue gère la file d'attente des requêtes. 
  
-===== Exploitation des données importées ===== + 
- + 
 +===== Exploitation(partielle) des données importées ===== 
 +<bootnote>l'exploitation ici ne concerne que les données des clients</bootnote> 
 Modifier les classes métiers Client et Intervention afin de leur ajouter l'attribut idDistant, qui  représente l'id au niveau de la base de données venant du serveur. Modifier les classes métiers Client et Intervention afin de leur ajouter l'attribut idDistant, qui  représente l'id au niveau de la base de données venant du serveur.
    
Ligne 139: Ligne 145:
 ArrayList<Client> lesClients = new ArrayList<Client>();  ArrayList<Client> lesClients = new ArrayList<Client>(); 
 try {  try { 
- JSONArray array = new   + JSONArray array = new JSONArray(jsonObject.getString("lesRendezVous")); 
-JSONArray(jsonObject.getString("lesRendezVous")); +
  Log.i("httphab", "taille du tableau " + array.length());   Log.i("httphab", "taille du tableau " + array.length()); 
  // Chaque objet JSON devient un objet de type Client, rangé dans  la collection   // Chaque objet JSON devient un objet de type Client, rangé dans  la collection 
Ligne 197: Ligne 202:
 </code>  </code> 
 Les clients seront ensuite à intégrer dans la base de données SQLite s'ils n'existaient pas déjà. Ajouter le même traitement pour les interventions. Les clients seront ensuite à intégrer dans la base de données SQLite s'ils n'existaient pas déjà. Ajouter le même traitement pour les interventions.
 +<badge>Fonctionnalités à développer, à montrer et projet à déposer sur gitea(commit à chaque niveau qui fonctionne) : 
 +  * **niveau 1**(5 points) : affichage des clients concernés par les rdv du jour 
 +  * **niveau 2**(10 points) : mise à jour des clients dans la base de données côté client(android) - contrôle avec l'affichage des clients 
 +  * **niveau 3**(15 points) : traitement des rdv avec mise à jour des interventions dans la base de données côté client(android) - contrôle avec l'affichage des interventions 
 +  * **niveau 4**(20 points) : exportation des interventions sur le serveur(éventuellement nouvelles ou modifiées) 
 +</badge>
  • sio2/projet_depann_tout_2.1736707258.txt.gz
  • Dernière modification : 2025/01/12 19:40
  • de dthevenot