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 :

AsyncTask requete POST


Sujet :

Android

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Homme Profil pro
    Lycéen
    Inscrit en
    Mars 2012
    Messages
    124
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations professionnelles :
    Activité : Lycéen
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2012
    Messages : 124
    Par défaut AsyncTask requete POST
    bonjour,

    Alors pour mon projet j'effectue une requete POST qui est en JSON, il y a quelque chose que je ne comprend pas dans cette requete c'est que si il n'y a pas internet, la requete se met en mémoire seule et s'envoie à nouveau lors d'une connexion.

    J'aimerais comprendre d'où cela viens ?

    Merci
    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
    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
     try {
                //Composition URL
                adresseUrlPost = "http:xxxxxxxxxxxxxxxxxxx";
                String json = "";
                String pos="";
                double posLa,posLo;
     
                // 1. Création de  HttpClient
                HttpClient httpclient = new DefaultHttpClient();
     
                // 2. créer la requete POST en lui donnant l'URL
                HttpPost httpPost = new HttpPost(adresseUrlPost);
     
                //Convertion d'un string en double
                posLa = Double.parseDouble(positionPLa);
                posLo = Double.parseDouble(positionPLo);
     
                // 3. Construction d'un jsonObject
                JSONObject posObj = new JSONObject();
                posObj.accumulate("Latitude",posLa);
                posObj.accumulate("Longitude",posLo);
     
                JSONObject jsonObject = new JSONObject();
                jsonObject.accumulate("PrecisionPosition", precisionP);
                jsonObject.accumulate("dateHeurePosition", dateP);
                jsonObject.accumulate("Position", posObj);
     
                // 4. Convertion JSONObject de JSON en String
                json = jsonObject.toString();
     
                // 5. mettre json dans StringEntity
                StringEntity se = new StringEntity(json);
     
                // 6. mettre httpPost Entity
                httpPost.setEntity(se);
     
                // 7. Définition des en-têtes pour informer le server
                httpPost.setHeader("Accept", "application/json");
                httpPost.setHeader("Content-Type", "application/json");
     
                // 8. Executer une requete POST en lui donnant l' URL et la chaine Sting
                HttpResponse httpResponse = httpclient.execute(httpPost);
     
                // 9. Mettre la reponse dans inputStream
                inputStream = httpResponse.getEntity().getContent();
     
                // 10. convertion inputstream en string
                if (inputStream != null)
                    result = convertInputStreamToString(inputStream);
                else
                    result = "probleme, ne fonctionne pas";
     
            } catch (Exception e) {
                Log.d("InputStream", e.getLocalizedMessage());
     
            }
            //11. convertion string en JSONObject
            try {
                myObject = new JSONObject(result);
            } catch (JSONException e) {
                e.printStackTrace();
            }
            // 12. retourner resultat
            return myObject;
        }

  2. #2
    Expert confirmé

    Avatar de Feanorin
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    4 589
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 4 589
    Par défaut
    Salut c'est dans les paramètres normalement de ton client, passes le à 0 si tu ne veux pas que elle réessaye une nouvelle fois .

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    httpClient.setHttpRequestRetryHandler(new DefaultHttpRequestRetryHandler
                                                 (0, false));
    http://developer.android.com/referen...tRetryHandler)

  3. #3
    Membre confirmé
    Homme Profil pro
    Lycéen
    Inscrit en
    Mars 2012
    Messages
    124
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations professionnelles :
    Activité : Lycéen
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2012
    Messages : 124
    Par défaut
    Citation Envoyé par Feanorin Voir le message
    Salut c'est dans les paramètres normalement de ton client, passes le à 0 si tu ne veux pas que elle réessaye une nouvelle fois .

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    httpClient.setHttpRequestRetryHandler(new DefaultHttpRequestRetryHandler
                                                 (0, false));
    http://developer.android.com/referen...tRetryHandler)
    c'est donc httpClient qui effectue ça seul ?

    Merci

  4. #4
    Expert confirmé

    Avatar de Feanorin
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    4 589
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 4 589
    Par défaut
    C'est à dire ?

    Juste avant l'appel de l'execute il faut que tu règles les paramètres de ton httpClient.

  5. #5
    Membre confirmé
    Homme Profil pro
    Lycéen
    Inscrit en
    Mars 2012
    Messages
    124
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations professionnelles :
    Activité : Lycéen
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2012
    Messages : 124
    Par défaut
    Citation Envoyé par Feanorin Voir le message
    C'est à dire ?

    Juste avant l'appel de l'execute il faut que tu règles les paramètres de ton httpClient.
    Justement cela m'arrange mais je ne comprennais pa d'où cela venait..

    Donc c'est l'objet HttpClient c'est ca ?

  6. #6
    Expert confirmé

    Avatar de Feanorin
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    4 589
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 4 589
    Par défaut
    Oui

Discussions similaires

  1. Requête POST dans un script bash
    Par desperado dans le forum Linux
    Réponses: 4
    Dernier message: 11/12/2007, 22h38
  2. Probleme de Requete POST
    Par K.othmane dans le forum Delphi
    Réponses: 2
    Dernier message: 30/08/2006, 19h17
  3. Pb de syntaxe dans requete POST HTTP
    Par MarkoMytho dans le forum Langage
    Réponses: 5
    Dernier message: 08/08/2006, 07h18
  4. Optimiser les requetes POST et GET
    Par localhost dans le forum Langage
    Réponses: 3
    Dernier message: 02/04/2006, 02h53
  5. Poster une requete POST avec fsockopen
    Par ePoX dans le forum Langage
    Réponses: 8
    Dernier message: 27/11/2005, 14h20

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