IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Android Discussion :

Probleme de performance lors d'accès par webservices


Sujet :

Android

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Mars 2009
    Messages
    37
    Détails du profil
    Informations personnelles :
    Localisation : Israël

    Informations forums :
    Inscription : Mars 2009
    Messages : 37
    Par défaut Probleme de performance lors d'accès par webservices
    Bonjour
    Me revoila sur e forum avec aujourd'hui une demande d'aide sur les performance de mon application Android.
    Dans cette application il est utilisé CalendarView que j'alimente a partir de données récupérées par webservices avec des requêtes PHP. Les requêtes n'ont aucun probleme, elles sont utilisées sur l'application web sans aucun probleme de performance. Par contre coté application Android et vue que l'alimentation du calendrier se fait jour par jour mon accès au webservices se fera autant de fois qu'il y a de jours entre Date J et Date fin de mois.
    Je m'explique nous sommes le 17/02 et bien l'appel a la requête PHP se fera 12 fois. et si l'utilisateur sélectionne le mois de mars, cela se passera 31 fois. D'ou mes problèmes de performance.
    Je precise que je ne fais que corriger une application deja écrite donc pas trop le temps de faire des modif importantes.

    Auriez vous une solution a me proposer pour améliorer mes perf ?

    Merci
    Cordialement

  2. #2
    Invité
    Invité(e)
    Par défaut
    Je m'explique nous sommes le 17/02 et bien l'appel a la requête PHP se fera 12 fois. et si l'utilisateur sélectionne le mois de mars, cela se passera 31 fois. D'ou mes problèmes de performance.
    Tu ne peux pas faire une requête qui te donne toutes les données dont tu as besoin ?

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Mars 2009
    Messages
    37
    Détails du profil
    Informations personnelles :
    Localisation : Israël

    Informations forums :
    Inscription : Mars 2009
    Messages : 37
    Par défaut
    En effet, j'ai pense a cette éventualité je peux en effet récupérer du serveur un tableau contenant les infos pour tous les jours voulu et non plus jour par jour. Mais je devrais alors ensuite le parcourir cote Android avec Java pour mettre a jour mon CalendarView. Je craignais une trop importante modif de code. Je suis limitée dans le temps.

  4. #4
    Membre averti
    Profil pro
    Inscrit en
    Mars 2009
    Messages
    37
    Détails du profil
    Informations personnelles :
    Localisation : Israël

    Informations forums :
    Inscription : Mars 2009
    Messages : 37
    Par défaut
    Bonjour,
    Alors j'ai modifie ma requête afin d'obtenir toutes les informations en une seule fois. J'obtiens un Json que je n'arrive pas a "parser". j'obtiens toujours la meme erreur. Je ne suis pas tres douée en la matière. J'ai besoin de votre aide pour y arriver. Voici le Json :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    Error parsing data org.json.JSONException: Value {"disponibility":{"21":[{"disp":[]}],"20":[{"disp":[]}],"19":[{"disp":[]}],"22":[{"disp":[540,555,570,585,600,615,630,645,660,675,690,780,795,810,825,840,855,870,885,900,915,930,945,960,975,990]}],"23":[{"disp":[540,555,570,585,600,615,630,645,660,675,690,780,795,810,825,840,855,870,885,900,915,930,945,960,975,990]}],"18":[{"disp":[]}],"24":[{"disp":[540,555,570,585,600,615,630,645,660,675,690,780,795,810,825,840,855,870,885,900,915,930,945,960,975,990]}],"25":[{"disp":[540,555,570,585,600,615,630,645,660,675,690,780,795,810,825,840,855,870,885,900,915,930,945,960,975,990]}],"26":[{"disp":[570,585,600,615,630,645,660,675,690,780,795,810,825,840,855,870,885,900,915,930,945,960,975,990]}],"27":[{"disp":[]}],"28":[{"disp":[]}],"29":[{"disp":[540,555,570,585,600,615,630,645,660,675,690,705,720,735,750,765,780,795,810,825,840,855,870,885,900,915,930,945,960,975,990]}]}} of type org.json.JSONObject cannot be converted to JSONArray
    Il s'agit des disponibilites d'un employe. Vous avez le jour et les heures pour ce jour donne.

    Merci d'avance.

    Bonne journee

    Sandy

  5. #5
    Modérateur
    Avatar de grunk
    Homme Profil pro
    Lead dév - Architecte
    Inscrit en
    Août 2003
    Messages
    6 693
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Côte d'Or (Bourgogne)

    Informations professionnelles :
    Activité : Lead dév - Architecte
    Secteur : Industrie

    Informations forums :
    Inscription : Août 2003
    Messages : 6 693
    Par défaut
    Sans voir le code qui parse difficile de deviner , mais l'erreur est parlante , elle te dis que tu essai de parser un objet dans un array ce qui évidemment ne marche pas.
    Pry Framework php5 | N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

  6. #6
    Membre averti
    Profil pro
    Inscrit en
    Mars 2009
    Messages
    37
    Détails du profil
    Informations personnelles :
    Localisation : Israël

    Informations forums :
    Inscription : Mars 2009
    Messages : 37
    Par défaut
    Voila le code :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    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
     
    protected void affichageSuite(String reponse) {
    		JSONArray jArrayHoraires = null;
    		if(reponse==null)
    			return;
     
    		try{
    			JSONObject object = new JSONObject(reponse);
    			JSONArray Jarray = object.getJSONArray("disponibility");
    			for (int i = 20 ; i< object.length(); i++)
    			{
    				 JSONObject Jasonobject = Jarray.getJSONObject(i);
     
    				/*String disp =null;
    				disp=  Jasonobject.getString("disp");
    				Log.e("disp", " "+disp);*/
     
    				jArrayHoraires = Jasonobject.getJSONArray("disp");
     
    				Log.e("AFFICHAGE DES DISPONIBILITE", " "+jArrayHoraires);
    				if (jArrayHoraires.length() == 0) {
    					listDayRdv.add(new DayRdv(false, null));
    				}else{
    					String[] tabHoraires = new String[jArrayHoraires.length()]; 
    					for (int j = 0; j < jArrayHoraires.length(); j++) {	
    						int valueHeure = jArrayHoraires.getInt(j);
    						String heure = String.format("%d:%02d", (valueHeure/60), (valueHeure%60));
    						tabHoraires[j] = heure;					
    					}
    					listDayRdv.add(new DayRdv(true, tabHoraires));
    			}
    		}
    Je suis un peu nulle dans le parsing de json

    Merci de m'aider.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [MySQL] Performance lors d'un backup de base de données ligne par ligne
    Par Jolt0x dans le forum PHP & Base de données
    Réponses: 0
    Dernier message: 06/04/2014, 01h05
  2. Probleme d´affichage d´un array list par webservice
    Par i_mt2 dans le forum Services Web
    Réponses: 1
    Dernier message: 06/05/2010, 18h33
  3. Erreur lors de l'accès à un WebService via IE
    Par kendras dans le forum Services Web
    Réponses: 1
    Dernier message: 11/10/2007, 16h06
  4. [AXIS] Problem envoie de mail par webservice
    Par BriceTheNice dans le forum Services Web
    Réponses: 1
    Dernier message: 21/06/2006, 11h29
  5. problemes de performances avec les requetes select
    Par berry dans le forum Requêtes
    Réponses: 3
    Dernier message: 10/07/2003, 13h39

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo