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 :

java.lang.NullPointerException + Non sauvegarde sur PhPMyAdmin


Sujet :

Android

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Homme Profil pro
    Informatique de Gestion (1ère année)
    Inscrit en
    Août 2018
    Messages
    17
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Informatique de Gestion (1ère année)
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Août 2018
    Messages : 17
    Par défaut java.lang.NullPointerException + Non sauvegarde sur PhPMyAdmin
    Bonjour Bonsoir à tous et à toutes !

    1. Pour faire court, quand je lance mon App via USB sur mon Smartphone depuis Android-Studio, l'App se lance puis au bout d'une 20aine de secondes se ferme.
    Plus tôt aujourd'hui ce problème avais tout bonnement disparu mais est réapparu comme par magie.

    2. De plus comme cité dans l'intitulé, Mon App ne transmet aucune donnée à ma
    Base de Données distante qui se trouve sur PhPMyAdmin. Pourtant mon WampServer 3.1.1 indique que tout les services sont lancés.
    J'ai d'abord pensé que mon Par-Feu y était pour quelques chose, je l'ai désactiver puis réessayer mais ca n'a rien donner non plus.

    3. Je tiens à préciser que j'ai vraiment chercher des solutions par moi même, notamment en me documentant sur la "FAQ Langage Java" ou je pense avoir trouver une piste de réponse. Mais je ne comprends pas où dois-je placer les lignes de codes proposer par l'FAQ.
    https://java.developpez.com/faq/java...n-code-elegant

    Merci d'avance.


    Voici ce qui s'affiche dans le Logcat :

    08-08 16:35:55.274 25168-25168/be.umwami.coach E/AndroidRuntime: FATAL EXCEPTION: main
    Process: be.umwami.coach, PID: 25168
    java.lang.NullPointerException: Attempt to invoke virtual method 'java.lang.String java.lang.String.toString()' on a null object reference
    at be.umwami.coach.outils.AccesHTTP.onPostExecute(AccesHTTP.java:72)
    at be.umwami.coach.outils.AccesHTTP.onPostExecute(AccesHTTP.java:20)
    at android.os.AsyncTask.finish(AsyncTask.java:727)
    at android.os.AsyncTask.-wrap1(Unknown Source:0)
    at android.os.AsyncTask$InternalHandler.handleMessage(AsyncTask.java:744)
    at android.os.Handler.dispatchMessage(Handler.java:108)
    at android.os.Looper.loop(Looper.java:166)
    at android.app.ActivityThread.main(ActivityThread.java:7425)
    at java.lang.reflect.Method.invoke(Native Method)
    at com.android.internal.os.Zygote$MethodAndArgsCaller.run(Zygote.java:245)
    at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:921)
    Voici le code, d'après le message d'erreur, les lignes 20 et 72 sont concernées :

    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
     package be.umwami.coach.outils;
    
    import android.os.AsyncTask;
    import android.util.Log;
    
    import org.apache.http.HttpResponse;
    import org.apache.http.NameValuePair;
    import org.apache.http.client.ClientProtocolException;
    import org.apache.http.client.HttpClient;
    import org.apache.http.client.entity.UrlEncodedFormEntity;
    import org.apache.http.client.methods.HttpPost;
    import org.apache.http.impl.client.DefaultHttpClient;
    import org.apache.http.message.BasicNameValuePair;
    import org.apache.http.util.EntityUtils;
    
    import java.io.IOException;
    import java.io.UnsupportedEncodingException;
    import java.util.ArrayList;
    
    public class AccesHTTP extends AsyncTask<String, Integer, Long> {
    
        private ArrayList<NameValuePair> parametres;
        private String ret = null;
        public AsyncResponse delegate = null;
    
    
        /**
         * Constructeur
         */
        public AccesHTTP() {
            parametres = new ArrayList<NameValuePair>();
        }
    
        /**
         * Ajout d'un paramètre post
         * @param nom
         * @param valeur
         */
        public void addParam(String nom, String valeur) {
            parametres.add(new BasicNameValuePair(nom, valeur));
        }
    
        /**
         * Connexion en tâche de fond dans un thread séparé
         * @param strings
         * @return
         */
        @Override
        protected Long doInBackground(String... strings) {
            HttpClient cnxHttp = new DefaultHttpClient();
            HttpPost paramCnx = new HttpPost(strings [0]);
    
            try {
                // encodage des paramètres
                paramCnx.setEntity(new UrlEncodedFormEntity(parametres));
                // connexion et envoie des paramètres, attente de réponse
                HttpResponse reponse = cnxHttp.execute(paramCnx);
                // transformation de la réponse
                ret = EntityUtils.toString(reponse.getEntity());
            } catch (UnsupportedEncodingException e) {
                Log.d("Erreur encodage", "*************"+e.toString());
            } catch (ClientProtocolException e) {
                Log.d("Erreur protocole", "*************"+e.toString());
            } catch (IOException e) {
                Log.d("Erreur I/O", "*************"+e.toString());
            }
    
            return null;
        }
    
        @Override
        protected void onPostExecute(Long result) { delegate.processFinish((ret.toString())); }
    
    }

  2. #2
    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
    Comme je te l'ai dit précédemment tu veux aller plus vite que la musique ...

    Avant de vouloir faire une appli qui communique avec une base de données distante c'est peut être pas mal d'avoir les bases minimales du langage.

    L'erreur que tu indique est très claire et expliqué en toute lettre :
    Attempt to invoke virtual method 'java.lang.String java.lang.String.toString()' on a null object reference
    Ce qui veux dire que tu essais d'appeler toString() sur une référence d'objet qui est null (qui n'est donc pas un objet).

    A priori c'est ret.toString() dans onPostExecute() ce qui veux dire que le problème réel vient de plus haut , au niveau de
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    ret = EntityUtils.toString(reponse.getEntity());
    qui retourne null, peut être parce que la page n'arrive pas à etre lu par exemple (c'est une supposition)
    Pry Framework php5 | N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

  3. #3
    Membre averti
    Homme Profil pro
    Informatique de Gestion (1ère année)
    Inscrit en
    Août 2018
    Messages
    17
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Informatique de Gestion (1ère année)
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Août 2018
    Messages : 17
    Par défaut
    Bonjour GRUNK, oui effectivement...

    Merci pour la réponse. =")

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

Discussions similaires

  1. Erreur java.lang.NullPointerException non comprise
    Par Marty_and_Doc dans le forum Débuter
    Réponses: 1
    Dernier message: 07/03/2015, 16h25
  2. Réponses: 6
    Dernier message: 21/04/2014, 15h14
  3. Réponses: 3
    Dernier message: 21/11/2011, 19h37
  4. java lang NullPointerException sur ue boucle for
    Par youness78 dans le forum Langage
    Réponses: 9
    Dernier message: 23/11/2009, 16h18
  5. Bloqué sur une erreur java.lang.NullPointerException
    Par youness78 dans le forum Débuter avec Java
    Réponses: 7
    Dernier message: 03/11/2009, 15h49

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