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 :

Problème JSONParser


Sujet :

Android

  1. #1
    Membre averti
    Homme Profil pro
    Inscrit en
    Mai 2011
    Messages
    790
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Tunisie

    Informations forums :
    Inscription : Mai 2011
    Messages : 790
    Points : 443
    Points
    443
    Par défaut Problème JSONParser
    Bonsoir,

    Je suis entrain de développer un petit exemple sur l'ajout d'une nouvelle ligne employé dans la base de données pour cela j'ai fait ceci :
    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
    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
    package com.gestionemploye.ahmed.gestionemploye;
     
    import java.io.BufferedReader;
    import java.io.IOException;
    import java.io.InputStream;
    import java.io.InputStreamReader;
    import java.io.UnsupportedEncodingException;
    import java.util.List;
    import org.apache.http.HttpEntity;
    import org.apache.http.HttpResponse;
    import org.apache.http.NameValuePair;
    import org.apache.http.client.ClientProtocolException;
    import org.apache.http.client.entity.UrlEncodedFormEntity;
    import org.apache.http.client.methods.HttpGet;
    import org.apache.http.client.methods.HttpPost;
    import org.apache.http.client.utils.URLEncodedUtils;
    import org.apache.http.impl.client.DefaultHttpClient;
    import org.json.JSONException;
    import org.json.JSONObject;
    import android.util.Log;
     
    /**
     * Created by Ahmed on 04/12/2014.
     */
    public class JSONParser {
     
        static InputStream is = null;
        static JSONObject jObj = null;
        static String json = "";
     
        // constructor
        public JSONParser() {
     
        }
     
        // function get json from url
    // by making HTTP POST or GET mehtod
        public JSONObject makeHttpRequest(String url, String method,
                                          List<NameValuePair> params) {
     
            // Making HTTP request
            try {
     
                // check for request method
                if (method == "POST") {
                    // request method is POST
                    // defaultHttpClient
                    DefaultHttpClient httpClient = new DefaultHttpClient();
                    HttpPost httpPost = new HttpPost(url);
                    httpPost.setEntity(new UrlEncodedFormEntity(params));
     
                    HttpResponse httpResponse = httpClient.execute(httpPost);
                    HttpEntity httpEntity = httpResponse.getEntity();
                    is = httpEntity.getContent();
     
                } else if (method == "GET") {
                    // request method is GET
                    DefaultHttpClient httpClient = new DefaultHttpClient();
                    String paramString = URLEncodedUtils.format(params, "utf-8");
                    url += "?" + paramString;
                    HttpGet httpGet = new HttpGet(url);
     
                    HttpResponse httpResponse = httpClient.execute(httpGet);
                    HttpEntity httpEntity = httpResponse.getEntity();
                    is = httpEntity.getContent();
                }
     
            } catch (UnsupportedEncodingException e) {
                e.printStackTrace();
            } catch (ClientProtocolException e) {
                e.printStackTrace();
            } catch (IOException e) {
                e.printStackTrace();
            }
     
            try {
                BufferedReader reader = new BufferedReader(new InputStreamReader(
                        is, "iso-8859-1"), 8);
                StringBuilder sb = new StringBuilder();
                String line = null;
                while ((line = reader.readLine()) != null) {
                    sb.append(line + "\n");
                }
                is.close();
                json = sb.toString();
            } catch (Exception e) {
                Log.e("Buffer Error", "Error converting result " + e.toString());
            }
     
            // try parse the string to a JSON object
            try {
                jObj = new JSONObject(json);
            } catch (JSONException e) {
                Log.e("JSON Parser", "Error parsing data " + e.toString());
            }
     
            // return JSON String
            return jObj;
     
        }
     
     
        public static JSONObject getjObj() {
            return jObj;
        }
     
        public static void setjObj(JSONObject jObj) {
            JSONParser.jObj = jObj;
        }
    }
    et ma classe est :
    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
    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
    120
    121
    122
    123
    124
    125
    126
    127
    128
    package com.gestionemploye.ahmed.gestionemploye;
     
    import android.os.Bundle;
    import android.app.Activity;
    import android.view.Menu;
    import android.view.View.OnClickListener;
    import java.util.ArrayList;
    import java.util.List;
    import org.apache.http.NameValuePair;
    import org.apache.http.message.BasicNameValuePair;
    import org.json.JSONException;
    import org.json.JSONObject;
    import android.app.Activity;
    import android.app.ProgressDialog;
    import android.content.Intent;
    import android.os.AsyncTask;
    import android.os.Bundle;
    import android.util.Log;
    import android.view.View;
    import android.widget.Button;
    import android.widget.EditText;
    import android.widget.Toast;
     
    /**
     * Created by Ahmed on 04/12/2014.
     */
    public class AddNewEmploye extends Activity implements OnClickListener{
     
     
     
        // Progress Dialog
        private ProgressDialog pDialog;
        JSONParser jsonParser = new JSONParser();
        private EditText txtnewidiom;
        private EditText txtmeaning;
        private Button btnsavenew;
        private int success;
        //to determine JSON signal insert success/fail
        // url to insert new idiom (change accordingly)
        private static String url_insert_new = "http://192.168.1.7/androidexemple/insertnew.php";
        // JSON Node names
        private static final String TAG_SUCCESS = "success";
     
        @Override public void onCreate(Bundle savedInstanceState) {
     
            super.onCreate(savedInstanceState);
     
            setContentView(R.layout.ajoutemploye);
     
            // Edit Text
            txtnewidiom = (EditText) findViewById(R.id.textnewidiom);
            txtmeaning = (EditText) findViewById(R.id.txtmeaning);
     
            // Save button
            btnsavenew = (Button) findViewById(R.id.btnsavenew);
     
            // button click event
            btnsavenew.setOnClickListener(this);
        }
     
        @Override public void onClick(View v) {
     
            if (v.getId()==R.id.btnsavenew){
            //call the InsertNewIdiom thread
            new InsertNewIdiom().execute();
     
                if (success==1){
     
                    Toast.makeText(getApplicationContext(), "New idiom saved...", Toast.LENGTH_LONG).show();
                }else{
                    Toast.makeText(getApplicationContext(), "New idiom FAILED to saved...", Toast.LENGTH_LONG).show();
                }
            }
        }
        /** * Background Async Task to Create new Idioms * */
     
        class InsertNewIdiom extends AsyncTask<String, String, String> {
     
        //capture values from EditText
            String entry = txtnewidiom.getText().toString();
            String meaning = txtmeaning.getText().toString();
     
            /** * Before starting background thread Show Progress Dialog * */
     
                @Override protected void onPreExecute() {
                super.onPreExecute();
                pDialog = new ProgressDialog(AddNewEmploye.this);
                pDialog.setMessage("Saving the new IDIOM ("+entry+")...");
                pDialog.setIndeterminate(false);
                pDialog.setCancelable(true);
                pDialog.show();
            }
     
            /** * Inserting the new idiom * */
                protected String doInBackground(String... args) {
            // Building Parameters
                List<NameValuePair> params = new ArrayList<NameValuePair>();
                params.add(new BasicNameValuePair("entry", entry));
                params.add(new BasicNameValuePair("meaning", meaning));
              // getting JSON Object // Note that create product url accepts GET method
                JSONObject json = jsonParser.makeHttpRequest(url_insert_new, "GET", params);
     
     
              // check log cat from response
                Log.d("Insert New Idiom Response", json.toString());
     
              // check for success tag
                    try {
                  success = json.getInt(TAG_SUCCESS);
                        if (success == 1) {
                  // successfully save new idiom
                            } else {
                  // failed to add new idiom
                                }
                            } catch (JSONException e)
              {
                    e.printStackTrace();
              }
              //return null;
              return null; }
            /** * After completing background task Dismiss the progress dialog * **/
     
            protected void onPostExecute(String file_url) {
            // dismiss the dialog once done
                 pDialog.dismiss();
            }
        }
    }
    et j'ai activé la permission android.permission.INTERNET

    En exécutant le code j'obtiens l 'erreur suivante :

    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
    691-705/com.gestionemploye.ahmed.gestionemploye E/AndroidRuntime﹕ FATAL EXCEPTION: AsyncTask #1
        java.lang.RuntimeException: An error occured while executing doInBackground()
                at android.os.AsyncTask$3.done(AsyncTask.java:278)
                at java.util.concurrent.FutureTask$Sync.innerSetException(FutureTask.java:273)
                at java.util.concurrent.FutureTask.setException(FutureTask.java:124)
                at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:307)
                at java.util.concurrent.FutureTask.run(FutureTask.java:137)
                at android.os.AsyncTask$SerialExecutor$1.run(AsyncTask.java:208)
                at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1076)
                at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:569)
                at java.lang.Thread.run(Thread.java:856)
         Caused by: java.lang.NullPointerException
                at com.gestionemploye.ahmed.gestionemploye.AddNewEmploye$InsertNewIdiom.doInBackground(AddNewEmploye.java:105)
                at com.gestionemploye.ahmed.gestionemploye.AddNewEmploye$InsertNewIdiom.doInBackground(AddNewEmploye.java:77)
                at android.os.AsyncTask$2.call(AsyncTask.java:264)
                at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:305)

    la ligne 105 dans l'erreur pointe sur cette ligne
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
                JSONObject json = jsonParser.makeHttpRequest(url_insert_new, "GET", params);
    et la ligne 77 :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    class InsertNewIdiom extends AsyncTask<String, String, String> {
    Merci pour votre aide !

  2. #2
    Membre actif Avatar de Altak
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Octobre 2014
    Messages
    170
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Octobre 2014
    Messages : 170
    Points : 245
    Points
    245
    Par défaut
    Bonjour,

    Lance l'application en debug et verifie que ton jsonParser est instancié, ainsi que tes variables params et url_insert_new.
    Vérifie aussi que ce que tu ajoute dans ta list params soit bien instancié.

    Tu as une NullpointerException donc ca vient forcement d'une erreur de ce type.

    glhf

  3. #3
    Membre averti
    Homme Profil pro
    Inscrit en
    Mai 2011
    Messages
    790
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Tunisie

    Informations forums :
    Inscription : Mai 2011
    Messages : 790
    Points : 443
    Points
    443
    Par défaut
    oui mon jsonparser est instancié
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
        JSONParser jsonParser = new JSONParser();
    par contre j'ai un souci sur le insertnew.pho j'ai mis ce fichier dans un fichier android exemple sous le www du wamp server. j’accède à ce serveur depuis mon pc avec 127.0.0.1.

    Est-ce-que l'adresse url est-elle-correcte?Sinon est-ce-que je dois ouvrir le wifi sur mon émulateur android ou un truc comme ça ?

  4. #4
    Membre averti
    Homme Profil pro
    Inscrit en
    Mai 2011
    Messages
    790
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Tunisie

    Informations forums :
    Inscription : Mai 2011
    Messages : 790
    Points : 443
    Points
    443
    Par défaut
    euh la ligne 105 pointe sur cette erreur
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
      Log.d("Insert New Idiom Response", json.toString());

  5. #5
    Membre actif Avatar de Altak
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Octobre 2014
    Messages
    170
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Octobre 2014
    Messages : 170
    Points : 245
    Points
    245
    Par défaut
    Re,

    Je vois que tu n'instancie ton retour que ici :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    // try parse the string to a JSON object
            try {
                jObj = new JSONObject(json);
            } catch (JSONException e) {
                Log.e("JSON Parser", "Error parsing data " + e.toString());
            }
    L'exception sur le toString() laisse a penser qu'a cette ligne le JSONObject(json) fail et que ta variable n'est jamais initialisé.
    Affiche ta string pour voir si elle est correct.

    Sinon, pour l'url, cela me semble correct. As-tu essayé d'ajouter le port d’écoute de ton serveur apache? par exemple 192.168.1.7:80 ou 192.168.1.4:8080
    il est possible que le probleme vienne de la aussi (un long moment que j'ai pas fait de serveur apache ^^)

    Mais tu n'as pas d'autre message sur la console avant d'avoir ton plantage?
    Avec tes catch, tu devrais avoir des messages d'erreur bien avant que tu appel le toString().

    glhf

  6. #6
    Expert éminent

    Homme Profil pro
    Ingénieur systèmes et réseaux
    Inscrit en
    Février 2007
    Messages
    4 253
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Ingénieur systèmes et réseaux
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Février 2007
    Messages : 4 253
    Points : 7 618
    Points
    7 618
    Billets dans le blog
    3
    Par défaut
    Et surtout remplace:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Log.e("JSON Parser", "Error parsing data " + e.toString());
    par
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Log.e("JSON Parser", "Error parsing data" ,e);
    N'oubliez pas de cliquer sur mais aussi sur si un commentaire vous a été utile !
    Et surtout

  7. #7
    Expert éminent

    Homme Profil pro
    Ingénieur systèmes et réseaux
    Inscrit en
    Février 2007
    Messages
    4 253
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Ingénieur systèmes et réseaux
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Février 2007
    Messages : 4 253
    Points : 7 618
    Points
    7 618
    Billets dans le blog
    3
    Par défaut
    Et puis aussi... arrêtez de réutiliser le même tutoriel buggé... je ne sais pas d'ou il vient le code du JSON parser, mais c'est une cata.

    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
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
     
    public class JSONParser {
     
    /*    static InputStream is = null;  // <= WHAT static ???????? 
        static JSONObject jObj = null;
        static String json = "";   tout ce truc peut être viré ... */
     
     
        private JSONObject jObj;
        private IOException error;
     
     
        // constructor (peut être privé, on ne construit jamais l'objet)
        private JSONParser() {
     
        }
     
     
        public static JSONObject makeHttpRequest(HttpUriRequest request) throws IOException {
                try {
                    DefaultHttpClient httpClient = new DefaultHttpClient();
                    HttpResponse response = httpClient.execute(request);
                    HttpEntity entity = response.getEntity();
                    String jsonStr = EntityUtils.toString(entity,"UTF-8"); // <= ça résout pas mal de soucis, y compris la gestion de fermeture correcte (même en cas d'exception) du stream.
                    return new JSONObject(jsonStr);
               } catch (IOException e) {
                    throw e;
               } catch (Exception e) {
                    throw new IOException("Failed HttpRequest",e);
               }
        }
     
        public static JSONObject makeHttpRequest(String url, String method,  List<NameValuePair> params) throws IOException {
                HttpUriRequest request;
     
                // == ne marche pas... il compare des objets !!!
                if ("POST".equals(method)) {  
                    // request method is POST
                    HttpPost httpPost = new HttpPost(url);
                    httpPost.setEntity(new UrlEncodedFormEntity(params));
                    request = httpPost;
                } else if ("GET".equals(method)) {
                    // request method is GET
                    String paramString = URLEncodedUtils.format(params, "utf-8");
                    url += "?" + paramString;
                    request = new HttpGet(url);
                } else {
                    throw new IllegalArgumentException("Only POST and GET are allowed method"); // <= oui on se protege soi-même des bêtises qu'on pourrait faire !
                }
     
                return makeHttpRequest(request);
        }
     
     
     
        public static JSONParser parseHttpRequest(String url, String method,  List<NameValuePair> params) {
            JSONParser ret = new JSONParser();
            try {
                ret.jObj = makeHttpRequest(url,method,params);
           } catch (IOException e) {
                ret.error = e;
           }
        }
     
        public boolean isSuccess() {
                return (this.error == null);
        }
     
        public JSONObject getJSONObject()
        {
                return this.jObj;
        }
     
        public IOException getError()
        {
                return this.error;
        }
    }
    Par exemple, le code est plus clair, plus facile à corriger, la gestion des erreurs est correcte....
    A utiliser avec:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    JSONObject obj = JSONParser.makeHttpRequest(...);
    protégé par un try / catch hein ! on ne passe pas sous silence les exceptions !

    ou encore:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    JSONParser parser = JSONParser.parseHttpRequest(...);
    if (parser.isSuccess()) {
        parser.getJSONObject(); ///
    } else {
        Toast....   parser.getError()
    }
    N'oubliez pas de cliquer sur mais aussi sur si un commentaire vous a été utile !
    Et surtout

  8. #8
    Membre averti
    Homme Profil pro
    Inscrit en
    Mai 2011
    Messages
    790
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Tunisie

    Informations forums :
    Inscription : Mai 2011
    Messages : 790
    Points : 443
    Points
    443
    Par défaut
    J'ai essayé avec le 80 et le 8080 mais ça marche pas.

    au fait lorsque je lance l'application et je clique sur le button il m'affiche en dialogue ensuite New idiom FAILED to saved...

    Mon script php est le suivant :
    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
    <?php 
    //insertnew.php /* * Following code will create a new product row * All product details are read from HTTP GET Request */ 
    // array for JSON response 
    $response = array(); 
     
    // check for required fields 
    if (isset($_GET['email']) && isset($_GET['password'])) 
    { 
     
    $entry = $_GET['email']; $meaning = $_GET['password']; 
     
    // include db connect class 
    require_once __DIR__ . '/connect.php'; 
     
    // connecting to db 
    $db = new DB_CONNECT(); 
     
    // mysql inserting a new row (idioms) 
    $result = mysql_query("INSERT INTO employe(email,password) VALUES('$entry', '$meaning')"); 
     
    // check if row inserted or not 
    if ($result) {
     
     // successfully inserted into database 
     $response["success"] = 1; $response["message"] = "new IDIOM saved...."; 
     
     // echoing JSON response 
     echo json_encode($response); 
     
     } else { 
     
     // failed to insert row
     $response["success"] = 0; $response["message"] = "Oops! An error occurred."; 
     
     // echoing JSON response e
     echo json_encode($response); } 
     
     } else {
     
     // required field is missing 
     $response["success"] = 0; $response["message"] = "Required field(s) is missing"; 
     
     // echoing JSON response 
     echo json_encode($response); 
     } ?>
    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
    <?php 
    /** * A class file to connect to database */ 
    class DB_CONNECT { 
    // constructor 
    function __construct() { 
    // connecting to database 
    $this->connect(); 
    } 
    // destructor 
    function __destruct() { 
    // closing db connection 
    $this->close(); 
    } 
    /** * Function to connect with database */ 
    function connect() { 
    // import database connection variables 
    require_once __DIR__ . '/config.php'; 
    // Connecting to mysql database 
    $con = mysql_connect(DB_SERVER, DB_USER, DB_PASSWORD) or die(mysql_error()); 
    // Selecing database 
    $db = mysql_select_db(DB_DATABASE) or die(mysql_error()) or die(mysql_error()); 
    // returing connection cursor 
    return $con; } 
    /** * Function to close db connection */ 
    function close() { 
    // closing db connection 
    mysql_close(); 
    } 
    }
     ?>
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    <?php
    /**
     * Database configuration
     */
    define('DB_USERNAME', 'root');
    define('DB_PASSWORD', 'root');
    define('DB_HOST', '127.0.0.1');
    define('DB_NAME', 'test');
    ?>
    sinon avant l'erreur prévu j'obtiens ces deux lignes

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    532-547/com.gestionemploye.ahmed.gestionemploye E/Buffer Error﹕ Error converting result java.lang.NullPointerException
    12-05 14:42:19.702      532-547/com.gestionemploye.ahmed.gestionemploye E/JSON Parser﹕ Error parsing data org.json.JSONException: End of input at character 0 of
    12-05 14:42:19.712      532-547/com.gestionemploye.ahmed.gestionemploye W/dalvikvm﹕ threadid=11: thread exiting with uncaught exception (group=0x409c01f8)
    12-05 14:42:19.743      532-547/com.gestionemploye.ahmed.gestionemploye E/AndroidRuntime﹕ FATAL EXCEPTION: AsyncTask #1
        java.lang.RuntimeException: An error occured while executing doInBackground()...

Discussions similaires

  1. Problème d'installation oracle 8.1.7 sous NT
    Par Anonymous dans le forum Installation
    Réponses: 7
    Dernier message: 02/08/2002, 14h18
  2. Problème d'impression
    Par IngBen dans le forum C++Builder
    Réponses: 7
    Dernier message: 22/05/2002, 11h37
  3. Problème avec la mémoire virtuelle
    Par Anonymous dans le forum CORBA
    Réponses: 13
    Dernier message: 16/04/2002, 16h10
  4. Réponses: 6
    Dernier message: 25/03/2002, 21h11

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