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

Java Discussion :

Calcul de messages en attente d'envoi


Sujet :

Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Homme Profil pro
    Développeur Web
    Inscrit en
    Juin 2013
    Messages
    46
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Charente Maritime (Poitou Charente)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : Santé

    Informations forums :
    Inscription : Juin 2013
    Messages : 46
    Par défaut Calcul de messages en attente d'envoi
    Bonjour,

    J'essaye de créer une petite fonction qui me permet de calculer le nombre de message en attente d'envoi de mon application.

    Je doit stocker des données sur ma tablette et ensuite les envoyer sur un serveur en ligne. J'utilise l'accuse de réception pour confirmer la bonne réception de mon message.

    Voici mon code pour le calcul des messages en attentes:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
        public static int Counter(int message){
            	int PendingMessages= 0;
     
            	PendingMessages = PendingMessages + CounterMessage;
            	Log.d(CLASS_TAG + "Counter", " Pending messages : "+ PendingMessages +" ");
            	return PendingMessages;
        }
    Et ma déclaration lors du stockage sur ma tablette et lors de la bonne réception de mon message:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
      // Stockage sur tablette
      PendingMessagesCounter.Counter(1);
      // Message recu grace a un accuse de reception
      PendingMessagesCounter.Counter(-1);
    Bon j'avoue, j'ai un peu séché les cours de maths a l’école...
    L’idée c'est d’implémenté a +1 ma variable PendingMessages et a la réception BIM -1... logiquement résultat 0 message en attente d'envoi.

    Le problème c'est que mes résultats sont 1 ou -1 tout le temps, j'aimerai que si mon envoie échoue ma variable PendingMessages prenne la valeur du nombre de messages non reçus.

    Merci de votre aide

  2. #2
    Membre Expert Avatar de Nico02
    Homme Profil pro
    Developpeur Java/JEE
    Inscrit en
    Février 2011
    Messages
    728
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Developpeur Java/JEE
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2011
    Messages : 728
    Par défaut
    La variable int PendingMessages= 0; est une variable locale à la méthode Counter(), du-coup elle vaut zéro à chaque fois que tu va rentrer dans ta méthode. Et 0 -1, bah ça fait bien -1

    Il faut la mettre en attribut de la classe si tu veux garder cette valeur

  3. #3
    Membre averti
    Homme Profil pro
    Développeur Web
    Inscrit en
    Juin 2013
    Messages
    46
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Charente Maritime (Poitou Charente)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : Santé

    Informations forums :
    Inscription : Juin 2013
    Messages : 46
    Par défaut
    Citation Envoyé par Nico02 Voir le message
    La variable int PendingMessages= 0; est une variable locale à la méthode Counter(), du-coup elle vaut zéro à chaque fois que tu va rentrer dans ta méthode. Et 0 -1, bah ça fait bien -1

    Il faut la mettre en attribut de la classe si tu veux garder cette valeur
    Merci Nico, alors j'ai déjà essaye et les valeurs deviennes encore plus "folles" genres elles descendent a -3 -7 +24 +48 bref c'est le bordel!
    En plus je viens de me rendre compte avoir fait une erreur dans le code de mon énoncé.
    Je remet le code:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
        public static int Counter(int message){
            	int PendingMessages= 0;
     
            	PendingMessages = PendingMessages + message;
            	Log.d(CLASS_TAG + "Counter", " Pending messages : "+ PendingMessages +" ");
            	return PendingMessages;
        }
    J'avais mis une variable "counterMessage" a la place de "message".
    Sorry, j'essaye avec plusieurs solutions, et je m’emmêle un peu les pinceaux
    Merci de ton aide Nico, je suis sur que je capte pas un truc avec les variables.. je continue en attendant

  4. #4
    Membre Expert Avatar de Nico02
    Homme Profil pro
    Developpeur Java/JEE
    Inscrit en
    Février 2011
    Messages
    728
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Developpeur Java/JEE
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2011
    Messages : 728
    Par défaut
    Dans tous les cas, si tu veux garder cette valeur, tu dois utiliser un attribut de classe.

    Une variable déclaré à l'intérieur d'une méthode n'existe plus lorsque la méthode à finit de s’exécuter. Donc aucune chance de conserver ta valeur.

    Après si cette valeur devient "folle" comme tu dis, c'est que tu dois certainement faire des trucs un peu "fou" aussi

    Par contre il va falloir nous montrer un peu plus de code car là ça va être difficile d'en dire plus.

  5. #5
    Membre averti
    Homme Profil pro
    Développeur Web
    Inscrit en
    Juin 2013
    Messages
    46
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Charente Maritime (Poitou Charente)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : Santé

    Informations forums :
    Inscription : Juin 2013
    Messages : 46
    Par défaut
    Du coup j'ai bien mis la valeur en static et en dehors de la fonction, je te met tout:

    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
     
    package com.isansys.patientgateway;
     
    import android.util.Log;
     
    public class PendingMessagesCounter {
     
        private static final String CLASS_TAG = "";
     
    	static int PendingMessages = 0;
     
        public static int Counter(int message){
     
            	PendingMessages = PendingMessages + message;
            	Log.d(CLASS_TAG + "Counter", " Pending messages : "+ PendingMessages +" ");
     
            	return PendingMessages;
     
        }
    }
    Tu vois ce que je veux faire?

  6. #6
    Membre Expert Avatar de Nico02
    Homme Profil pro
    Developpeur Java/JEE
    Inscrit en
    Février 2011
    Messages
    728
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Developpeur Java/JEE
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2011
    Messages : 728
    Par défaut
    Je pense comprendre le concept d'un compteur oui..

    Mais si tu nous dis qu'il n'affiche pas la bonne valeur mais que tu ne nous montres pas comment tu l'exploites, on va pas beaucoup avancer

    Qui fait appel à cette méthode ? Dans quel contexte ( multi-thread ??) ?

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

Discussions similaires

  1. Afficher un message d'attente en SQL Server
    Par bong03 dans le forum MS SQL Server
    Réponses: 3
    Dernier message: 10/05/2006, 09h43
  2. effacer un message d'attente
    Par ProgElecT dans le forum Balisage (X)HTML et validation W3C
    Réponses: 2
    Dernier message: 05/03/2006, 10h18
  3. Réponses: 8
    Dernier message: 25/11/2005, 18h38
  4. Message d'attente pendant pilotage Ole Excel
    Par yottatiger dans le forum C++Builder
    Réponses: 3
    Dernier message: 13/09/2005, 09h14
  5. [IdTCP] Comment tester l'existence de messages en attente ?
    Par HopeLeaves dans le forum Web & réseau
    Réponses: 1
    Dernier message: 29/06/2005, 10h03

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