Autore Topic: FATAL EXCEPTION: AsyncTask #1  (Letto 1721 volte)

Offline Spagna

  • Utente junior
  • **
  • Post: 81
  • Respect: 0
    • Mostra profilo
  • Dispositivo Android:
    Samsung Galaxy
  • Sistema operativo:
    windows 7
FATAL EXCEPTION: AsyncTask #1
« il: 15 Dicembre 2012, 22:22:42 CET »
0
Buona sera a tutti,
come sempre ho problemi che mi fanno perdere
giorni e giorni e il peggio é che non posso
risolverli.
Ho una aplicazione che da un form manda parametri
a una URL remota en PHP e ritorna un valore con json_encode.
Premetto che  utilizo "AsyncTask"
Ho creato del Log.e per vedere in que punto sta l' error.

Ve passo la funzione e il LogCat:

LogCat:
Codice: [Seleziona]

12-15 22:09:22.037: I/doInBackground(404):  Entra en doInBackground111-222-333@333.com-Hombre-18/24-Casado/a-mibar
12-15 22:09:22.037: E/Loginstatus(404): valoresr= 111-222-333@333.com-Hombre-18/24-Casado/a-mibar
12-15 22:09:22.037: E/Antes de jdata(404): Valores Jdata= [tusuario=111, tpassword=222, tcorreo=333@333.com, tgeneros=Hombre, trangoedades=18/24, testados=Casado/a, tbar=mibar]
12-15 22:09:22.047: W/dalvikvm(404): threadid=9: thread exiting with uncaught exception (group=0x40015560)
12-15 22:09:22.047: E/AndroidRuntime(404): FATAL EXCEPTION: AsyncTask #1
12-15 22:09:22.047: E/AndroidRuntime(404): java.lang.RuntimeException: An error occured while executing doInBackground()
12-15 22:09:22.047: E/AndroidRuntime(404):         at android.os.AsyncTask$3.done(AsyncTask.java:200)
12-15 22:09:22.047: E/AndroidRuntime(404):         at java.util.concurrent.FutureTask$Sync.innerSetException(FutureTask.java:274)
12-15 22:09:22.047: E/AndroidRuntime(404):         at java.util.concurrent.FutureTask.setException(FutureTask.java:125)
12-15 22:09:22.047: E/AndroidRuntime(404):         at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:308)
12-15 22:09:22.047: E/AndroidRuntime(404):         at java.util.concurrent.FutureTask.run(FutureTask.java:138)
12-15 22:09:22.047: E/AndroidRuntime(404):         at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1088)
12-15 22:09:22.047: E/AndroidRuntime(404):         at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:581)
12-15 22:09:22.047: E/AndroidRuntime(404):         at java.lang.Thread.run(Thread.java:1019)
12-15 22:09:22.047: E/AndroidRuntime(404): Caused by: java.lang.NullPointerException
12-15 22:09:22.047: E/AndroidRuntime(404):         at com.midominio.carlos.RegistrateActivity.loginstatus(RegistrateActivity.java:197)
12-15 22:09:22.047: E/AndroidRuntime(404):         at com.midominio.carlos.RegistrateActivity$asynclogin.doInBackground(RegistrateActivity.java:298)
12-15 22:09:22.047: E/AndroidRuntime(404):         at com.midominio.carlos.RegistrateActivity$asynclogin.doInBackground(RegistrateActivity.java:1)
12-15 22:09:22.047: E/AndroidRuntime(404):         at android.os.AsyncTask$2.call(AsyncTask.java:185)
12-15 22:09:22.047: E/AndroidRuntime(404):         at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:306)
12-15 22:09:22.047: E/AndroidRuntime(404):         ... 4 more
12-15 22:09:23.597: E/WindowManager(404): Activity com.midominio.carlos.RegistrateActivity has leaked window com.android.internal.policy.impl.PhoneWindow$DecorView@4055ae30 that was originally added here
12-15 22:09:23.597: E/WindowManager(404): android.view.WindowLeaked: Activity com.midominio.carlos.RegistrateActivity has leaked window com.android.internal.policy.impl.PhoneWindow$DecorView@4055ae30 that was originally added here
12-15 22:09:23.597: E/WindowManager(404):         at android.view.ViewRoot.<init>(ViewRoot.java:258)
12-15 22:09:23.597: E/WindowManager(404):         at android.view.WindowManagerImpl.addView(WindowManagerImpl.java:148)
12-15 22:09:23.597: E/WindowManager(404):         at android.view.WindowManagerImpl.addView(WindowManagerImpl.java:91)
12-15 22:09:23.597: E/WindowManager(404):         at android.view.Window$LocalWindowManager.addView(Window.java:424)
12-15 22:09:23.597: E/WindowManager(404):         at android.app.Dialog.show(Dialog.java:241)
12-15 22:09:23.597: E/WindowManager(404):         at com.midominio.carlos.RegistrateActivity$asynclogin.onPreExecute(RegistrateActivity.java:279)
12-15 22:09:23.597: E/WindowManager(404):         at android.os.AsyncTask.execute(AsyncTask.java:391)
12-15 22:09:23.597: E/WindowManager(404):         at com.midominio.carlos.RegistrateActivity$5.onClick(RegistrateActivity.java:153)
12-15 22:09:23.597: E/WindowManager(404):         at android.view.View.performClick(View.java:2485)
12-15 22:09:23.597: E/WindowManager(404):         at android.view.View$PerformClick.run(View.java:9080)
12-15 22:09:23.597: E/WindowManager(404):         at android.os.Handler.handleCallback(Handler.java:587)
12-15 22:09:23.597: E/WindowManager(404):         at android.os.Handler.dispatchMessage(Handler.java:92)
12-15 22:09:23.597: E/WindowManager(404):         at android.os.Looper.loop(Looper.java:123)
12-15 22:09:23.597: E/WindowManager(404):         at android.app.ActivityThread.main(ActivityThread.java:3683)
12-15 22:09:23.597: E/WindowManager(404):         at java.lang.reflect.Method.invokeNative(Native Method)
12-15 22:09:23.597: E/WindowManager(404):         at java.lang.reflect.Method.invoke(Method.java:507)
12-15 22:09:23.597: E/WindowManager(404):         at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:839)
12-15 22:09:23.597: E/WindowManager(404):         at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:597)
12-15 22:09:23.597: E/WindowManager(404):         at dalvik.system.NativeStart.main(Native Method)
12-15 22:09:25.187: I/Process(404): Sending signal. PID: 404 SIG: 9



Codice: [Seleziona]
/*Valida el estado del formulario solamente necesita como parametros el usuario y passw*/
    public boolean loginstatus( String zusuario, String zpassword,String zcorreo,String zgeneros, String zrangoedades, String zestados,String zbar ) {
            int logstatus=-1;
             Log.e("Loginstatus","valoresr= "+zusuario+"-"+zpassword+"-"+zcorreo+"-"+zgeneros+"-"+zrangoedades+"-"+zestados+"-"+zbar);//muestro por log que obtuvimos
                 
            /*Creamos un ArrayList del tipo nombre valor para agregar los datos recibidos por los parametros anteriores
             * y enviarlo mediante POST a nuestro sistema para relizar la validacion*/
            ArrayList<NameValuePair> postparameters2send= new ArrayList<NameValuePair>();
                    
                                    postparameters2send.add(new BasicNameValuePair("tusuario", zusuario));
                                    postparameters2send.add(new BasicNameValuePair("tpassword", zpassword));
                                    postparameters2send.add(new BasicNameValuePair("tcorreo", zcorreo));
                                    postparameters2send.add(new BasicNameValuePair("tgeneros", zgeneros));
                                    postparameters2send.add(new BasicNameValuePair("trangoedades",zrangoedades));
                                    postparameters2send.add(new BasicNameValuePair("testados", zestados));
                                    postparameters2send.add(new BasicNameValuePair("tbar",zbar));
                                                     
                   //realizamos una peticion y como respuesta obtenes un array JSON
                                     Log.e("Antes de jdata","Valores Jdata= "+postparameters2send);
                                        
                      JSONArray jdata=post.getserverdata(postparameters2send, URL_connect);
                       Log.e("despues de jdata","ValoresJdata= "+zusuario+"-"+zpassword+"-"+zcorreo+"-"+zgeneros+"-"+zrangoedades+"-"+zestados+"-"+zbar);//muestro por log que obtuvimos
                    
                      /*como estamos trabajando de manera local el ida y vuelta sera casi inmediato
                       * para darle un poco realismo decimos que el proceso se pare por unos segundos para poder
                       * observar el progressdialog
                       * la podemos eliminar si queremos
                       */
                    SystemClock.sleep(950);
                       
                     
                 

                                   
                    //si lo que obtuvimos no es null
                            if (jdata!=null && jdata.length() > 0){
                                     Log.e("loginstatus Jdata","Valores= "+zusuario+"-"+zpassword+"-"+zcorreo+"-"+zgeneros+"-"+zrangoedades+"-"+zestados+"-"+zbar);//muestro por log que obtuvimos
                                           

                                    JSONObject json_data; //creamos un objeto JSON
                                        try {
                                                json_data = jdata.getJSONObject(0); //leemos el primer segmento en nuestro caso el unico
                                                 logstatus=json_data.getInt("logstatus");//accedemos al valor
                                                 Log.e("loginstatus","logstatus= "+logstatus);//muestro por log que obtuvimos
                                        } catch (JSONException e) {
                                                // TODO Auto-generated catch block
                                                e.printStackTrace();
                                        }                           
                             
                                        //validamos el valor obtenido
                                   
                                     
                                     
                                    if (logstatus==0){// [{"logstatus":"0"}]
                                             Log.e("loginstatus ", "invalido");
                                             return false;
                                     }
                                     else{// [{"logstatus":"1"}]
                                             Log.e("loginstatus ", "valido");
                                             return true;
                                     }
                                     
                          }else{        //json obtenido invalido verificar parte WEB.
                                            /* Log.e("JSON  ", "ERROR");*/
                                             Log.e("JSON","Error= "+zusuario+"-"+zpassword+"-"+zcorreo+"-"+zgeneros+"-"+zrangoedades+"-"+zestados+"-"+zbar);//muestro por log que obtuvimos
                                                      
                                            return false;
                                           
                          }
           
    }
Per piacere una mano é tanto tempo che sto con questo errore
Un saluto

Offline bradipao

  • Moderatore globale
  • Utente storico
  • *****
  • Post: 4043
  • keep it simple
  • Respect: +567
    • Github
    • Google+
    • bradipao
    • Mostra profilo
  • Dispositivo Android:
    Nexus 5
  • Play Store ID:
    Bradipao
  • Sistema operativo:
    W7
Re:FATAL EXCEPTION: AsyncTask #1
« Risposta #1 il: 16 Dicembre 2012, 09:08:42 CET »
0
Citazione
12-15 22:09:22.047: E/AndroidRuntime(404): Caused by: java.lang.NullPointerException
12-15 22:09:22.047: E/AndroidRuntime(404):         at com.midominio.carlos.RegistrateActivity.loginstatus(RegistrateActivity.java:197)
12-15 22:09:22.047: E/AndroidRuntime(404):         at com.midominio.carlos.RegistrateActivity$asynclogin.doInBackground(RegistrateActivity.java:298)

Guardando il LogCat io controllerei le righe 197 e 298 di RegistrateActivity, dove qualcosa è NULL.

NON rispondo a domande nei messaggi privati
Bradipao @ Play Store

Offline Spagna

  • Utente junior
  • **
  • Post: 81
  • Respect: 0
    • Mostra profilo
  • Dispositivo Android:
    Samsung Galaxy
  • Sistema operativo:
    windows 7
Re:FATAL EXCEPTION: AsyncTask #1
« Risposta #2 il: 16 Dicembre 2012, 18:52:36 CET »
0
Grazie per rispondermi
LA linea 197 é:
Codice: [Seleziona]
JSONArray jdata=post.getserverdata(postparameters2send, URL_connect);
I parametri ci sono tutti come dice il logcat:
Codice: [Seleziona]
Valores Jdata= [tusuario=111, tpassword=222, tcorreo=333@333.com, tgeneros=Hombre, trangoedades=18/24, testados=Casado/a, tbar=mibar]
La linea 298 é dove chiama la funzione
Loginstatus
Per me cé qualque errore nel
JsonArray perche nel codice ho messo log.e che mi dice se ha passato Json array e li si ferma
Non capisco perche

Offline Nicola_D

  • Utente storico
  • *****
  • Post: 2479
  • SBAGLIATO!
  • Respect: +323
    • Github
    • Google+
    • nicoladorigatti
    • Mostra profilo
  • Dispositivo Android:
    Nexus 6p, Nexus 4, Nexus S, Nexus 7(2012)
  • Sistema operativo:
    Windows 7
Re:FATAL EXCEPTION: AsyncTask #1
« Risposta #3 il: 16 Dicembre 2012, 21:36:52 CET »
0
post è null da quanto vedo nel tuo codice...
IMPORTANTE:NON RISPONDO A PROBLEMI VIA MESSAGGIO PRIVATO
LOGCAT: Non sai cos'è? -> Android Debug Bridge | Android Developers
               Dov'è in Eclipse? -> Window -> Open Prospective -> DDMS e guarda in basso!
[Obbligatorio] Logcat, questo sconosciuto! (Gruppo AndDev.it LOGTFO) - Android Developers Italia

Offline Spagna

  • Utente junior
  • **
  • Post: 81
  • Respect: 0
    • Mostra profilo
  • Dispositivo Android:
    Samsung Galaxy
  • Sistema operativo:
    windows 7
Re:FATAL EXCEPTION: AsyncTask #1
« Risposta #4 il: 17 Dicembre 2012, 01:40:30 CET »
0
Scusami ma non capisco nessun valore é vuoto
nel logCat lo dice:
Codice: [Seleziona]
Valores Jdata= http://www.yournight.es/carlos/usuarioNew.php-[tusuario=111, tpassword=222, tcorreo=333@333.com, tgeneros=Hombre, trangoedades=18/24, testados=Casado/a, tbar=mibar]
Non capisco
Un saluto

Offline Sakazaki

  • Utente normale
  • ***
  • Post: 396
  • Respect: +74
    • Mostra profilo
  • Dispositivo Android:
    Sony xperia Z
  • Play Store ID:
    Saka Labs
  • Sistema operativo:
    Windows 8
Re:FATAL EXCEPTION: AsyncTask #1
« Risposta #5 il: 17 Dicembre 2012, 08:37:35 CET »
0
Oltre a postparameters2send loggati subito prima della chiamata a post.getserverdata anche il valore di post (e pure di URL_connect già che ci sei) e verifica.
Il log che riporti ti assicura solo che postparameters2send è valorizzato.
Sono anche io dell'opinione che post sia null (non vedo dove viene inizializzato, neanche URL_connect a dire il vero), ci metterei la mano sul fuoco.

Offline Nicola_D

  • Utente storico
  • *****
  • Post: 2479
  • SBAGLIATO!
  • Respect: +323
    • Github
    • Google+
    • nicoladorigatti
    • Mostra profilo
  • Dispositivo Android:
    Nexus 6p, Nexus 4, Nexus S, Nexus 7(2012)
  • Sistema operativo:
    Windows 7
Re:FATAL EXCEPTION: AsyncTask #1
« Risposta #6 il: 17 Dicembre 2012, 08:59:24 CET »
0
lo stack trace da nullpointerexception alla riga 197 che hai detto che è:
JSONArray jdata=post.getserverdata(postparameters2send, URL_connect);

nullpointer exception non vuol dire che gli passi qualcosa di null, ma che stai accedendo a una proprietà o ad un metodo di un oggetto NULL.
da questa riga, è sicuramente post quello a null.
IMPORTANTE:NON RISPONDO A PROBLEMI VIA MESSAGGIO PRIVATO
LOGCAT: Non sai cos'è? -> Android Debug Bridge | Android Developers
               Dov'è in Eclipse? -> Window -> Open Prospective -> DDMS e guarda in basso!
[Obbligatorio] Logcat, questo sconosciuto! (Gruppo AndDev.it LOGTFO) - Android Developers Italia

Offline bradipao

  • Moderatore globale
  • Utente storico
  • *****
  • Post: 4043
  • keep it simple
  • Respect: +567
    • Github
    • Google+
    • bradipao
    • Mostra profilo
  • Dispositivo Android:
    Nexus 5
  • Play Store ID:
    Bradipao
  • Sistema operativo:
    W7
Re:FATAL EXCEPTION: AsyncTask #1
« Risposta #7 il: 17 Dicembre 2012, 09:40:24 CET »
0
lo stack trace da nullpointerexception alla riga 197 che hai detto che è:
JSONArray jdata=post.getserverdata(postparameters2send, URL_connect);

nullpointer exception non vuol dire che gli passi qualcosa di null, ma che stai accedendo a una proprietà o ad un metodo di un oggetto NULL.
da questa riga, è sicuramente post quello a null.

Ovviamente concordo.

Metti nel codice un controllo esplicito, sempre raccomandibile, esempio così:

Codice (Java): [Seleziona]
if (post==null)
   Log.e("despues de jdata","post=NULL");
else
   jdata=post.getserverdata(postparameters2send, URL_connect);
NON rispondo a domande nei messaggi privati
Bradipao @ Play Store

Offline Spagna

  • Utente junior
  • **
  • Post: 81
  • Respect: 0
    • Mostra profilo
  • Dispositivo Android:
    Samsung Galaxy
  • Sistema operativo:
    windows 7
Re:FATAL EXCEPTION: AsyncTask #1
« Risposta #8 il: 17 Dicembre 2012, 13:01:28 CET »
0
Ringrazio a tutti per il vostro impegno
ora non la aplicazione non si blocca pero mi da sempre errore
LocaCat:
Codice: [Seleziona]
12-17 12:44:28.177: I/doInBackground(337):  Entra en doInBackground111-222-333@33444443.com-Hombre-18/24-Casado/a-mibar
12-17 12:44:28.177: E/Antes de JSONARRAY(337): Valores Jdata= http://www.yournight.es/carlos/usuarioNew.php-[tusuario=111, tpassword=222, tcorreo=333@33444443.com, tgeneros=Hombre, trangoedades=18/24, testados=Casado/a, tbar=mibar]
12-17 12:44:28.177: E/Controllo post(337): post=NULLhttp://www.yournight.es/carlos/usuarioNew.php-[tusuario=111, tpassword=222, tcorreo=333@33444443.com, tgeneros=Hombre, trangoedades=18/24, testados=Casado/a, tbar=mibar]
12-17 12:44:28.177: E/despues de jdata(337): Valore di Jdata= 111-222-333@33444443.com-Hombre-18/24-Casado/a-mibar
12-17 12:44:28.177: E/JSON(337): Error En JSON= 111-222-333@33444443.com-Hombre-18/24-Casado/a-mibar
12-17 12:44:28.247: E/onPostExecute=(337): err
12-17 12:44:28.267: E/Error Login(337): Error
Ho messo :
Codice: [Seleziona]
  if (post==null)
                           Log.e("Controllo post","post=NULL"+URL_connect+"-"+postparametrossend);
                        else
                           jdata=post.getserverdata(postparametrossend, URL_connect);
Posso aggiunger  un zip con tutti i codici android e php o chiedere troppo
scusate la sfrontatezza
Un saluto

Offline bradipao

  • Moderatore globale
  • Utente storico
  • *****
  • Post: 4043
  • keep it simple
  • Respect: +567
    • Github
    • Google+
    • bradipao
    • Mostra profilo
  • Dispositivo Android:
    Nexus 5
  • Play Store ID:
    Bradipao
  • Sistema operativo:
    W7
Re:FATAL EXCEPTION: AsyncTask #1
« Risposta #9 il: 17 Dicembre 2012, 13:44:39 CET »
0
Confermato che il problema è post==NULL, ora devi scoprire il perchè.

In quale punto del codice assegni un valore a post?
NON rispondo a domande nei messaggi privati
Bradipao @ Play Store

Offline Spagna

  • Utente junior
  • **
  • Post: 81
  • Respect: 0
    • Mostra profilo
  • Dispositivo Android:
    Samsung Galaxy
  • Sistema operativo:
    windows 7
Re:FATAL EXCEPTION: AsyncTask #1
« Risposta #10 il: 17 Dicembre 2012, 13:49:19 CET »
0
Grazie in caso posso
disturbarti ancora mi da un po di vergogna
Grazie
Un saluto

Offline Spagna

  • Utente junior
  • **
  • Post: 81
  • Respect: 0
    • Mostra profilo
  • Dispositivo Android:
    Samsung Galaxy
  • Sistema operativo:
    windows 7
Re:FATAL EXCEPTION: AsyncTask #1
« Risposta #11 il: 17 Dicembre 2012, 17:23:53 CET »
0
Grazie
tutto ok
Un saluto