Autore Topic: AsyncTask ERROR durante il download di un file  (Letto 1775 volte)

Offline MisterAnt

  • Utente normale
  • ***
  • Post: 272
  • Respect: +4
    • IlSikano
    • Mostra profilo
  • Dispositivo Android:
    Galaxy S4 Active,Galaxy SIII I9300, Galaxy Tab GT-P5100
  • Play Store ID:
    MisterAnt
  • Sistema operativo:
    Ubuntu 12.04/Winzoz 7/Winzoz xp
AsyncTask ERROR durante il download di un file
« il: 03 Giugno 2013, 10:34:43 CEST »
0
Salve a tutti :)
Ho implementato un AsyncTask per scaricare un file in background e ogni tanto mi crasha...
Non capisco se sia un problema di threading oppure di integrità di dati...
Codice (XML): [Seleziona]
06-03 09:21:55.312: E/AndroidRuntime(9038): FATAL EXCEPTION: AsyncTask #5
06-03 09:21:55.312: E/AndroidRuntime(9038): java.lang.RuntimeException: An error occured while executing doInBackground()
06-03 09:21:55.312: E/AndroidRuntime(9038):     at android.os.AsyncTask$3.done(AsyncTask.java:299)
06-03 09:21:55.312: E/AndroidRuntime(9038):     at java.util.concurrent.FutureTask$Sync.innerSetException(FutureTask.java:273)
06-03 09:21:55.312: E/AndroidRuntime(9038):     at java.util.concurrent.FutureTask.setException(FutureTask.java:124)
06-03 09:21:55.312: E/AndroidRuntime(9038):     at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:307)
06-03 09:21:55.312: E/AndroidRuntime(9038):     at java.util.concurrent.FutureTask.run(FutureTask.java:137)
06-03 09:21:55.312: E/AndroidRuntime(9038):     at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1076)
06-03 09:21:55.312: E/AndroidRuntime(9038):     at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:569)
06-03 09:21:55.312: E/AndroidRuntime(9038):     at java.lang.Thread.run(Thread.java:856)
06-03 09:21:55.312: E/AndroidRuntime(9038): Caused by: java.lang.ArrayIndexOutOfBoundsException: length=202; index=-8257536
06-03 09:21:55.312: E/AndroidRuntime(9038):     at java.util.ArrayList.get(ArrayList.java:306)
06-03 09:21:55.312: E/AndroidRuntime(9038):     at java.io.ObjectInputStream.registeredObjectRead(ObjectInputStream.java:2161)
06-03 09:21:55.312: E/AndroidRuntime(9038):     at java.io.ObjectInputStream.readCyclicReference(ObjectInputStream.java:833)
06-03 09:21:55.312: E/AndroidRuntime(9038):     at java.io.ObjectInputStream.readNonPrimitiveContent(ObjectInputStream.java:799)
06-03 09:21:55.312: E/AndroidRuntime(9038):     at java.io.ObjectInputStream.readObject(ObjectInputStream.java:2003)
06-03 09:21:55.312: E/AndroidRuntime(9038):     at java.io.ObjectInputStream.readObject(ObjectInputStream.java:1960)
06-03 09:21:55.312: E/AndroidRuntime(9038):     at java.io.ObjectInputStream.readFieldValues(ObjectInputStream.java:1137)
06-03 09:21:55.312: E/AndroidRuntime(9038):     at java.io.ObjectInputStream.defaultReadObject(ObjectInputStream.java:455)
06-03 09:21:55.312: E/AndroidRuntime(9038):     at java.io.ObjectInputStream.readObjectForClass(ObjectInputStream.java:1369)
06-03 09:21:55.312: E/AndroidRuntime(9038):     at java.io.ObjectInputStream.readHierarchy(ObjectInputStream.java:1266)
06-03 09:21:55.312: E/AndroidRuntime(9038):     at java.io.ObjectInputStream.readNewObject(ObjectInputStream.java:1855)
06-03 09:21:55.312: E/AndroidRuntime(9038):     at java.io.ObjectInputStream.readNonPrimitiveContent(ObjectInputStream.java:787)
06-03 09:21:55.312: E/AndroidRuntime(9038):     at java.io.ObjectInputStream.readObject(ObjectInputStream.java:2003)
06-03 09:21:55.312: E/AndroidRuntime(9038):     at java.io.ObjectInputStream.readObject(ObjectInputStream.java:1960)
06-03 09:21:55.312: E/AndroidRuntime(9038):     at java.io.ObjectInputStream.readNewArray(ObjectInputStream.java:1512)
06-03 09:21:55.312: E/AndroidRuntime(9038):     at java.io.ObjectInputStream.readNonPrimitiveContent(ObjectInputStream.java:785)
06-03 09:21:55.312: E/AndroidRuntime(9038):     at java.io.ObjectInputStream.readObject(ObjectInputStream.java:2003)
06-03 09:21:55.312: E/AndroidRuntime(9038):     at java.io.ObjectInputStream.readObject(ObjectInputStream.java:1960)
06-03 09:21:55.312: E/AndroidRuntime(9038):     at java.io.ObjectInputStream.readFieldValues(ObjectInputStream.java:1137)
06-03 09:21:55.312: E/AndroidRuntime(9038):     at java.io.ObjectInputStream.defaultReadObject(ObjectInputStream.java:455)
06-03 09:21:55.312: E/AndroidRuntime(9038):     at java.io.ObjectInputStream.readObjectForClass(ObjectInputStream.java:1369)
06-03 09:21:55.312: E/AndroidRuntime(9038):     at java.io.ObjectInputStream.readHierarchy(ObjectInputStream.java:1266)
06-03 09:21:55.312: E/AndroidRuntime(9038):     at java.io.ObjectInputStream.readNewObject(ObjectInputStream.java:1855)
06-03 09:21:55.312: E/AndroidRuntime(9038):     at java.io.ObjectInputStream.readNonPrimitiveContent(ObjectInputStream.java:787)
06-03 09:21:55.312: E/AndroidRuntime(9038):     at java.io.ObjectInputStream.readObject(ObjectInputStream.java:2003)
06-03 09:21:55.312: E/AndroidRuntime(9038):     at java.io.ObjectInputStream.readObject(ObjectInputStream.java:1960)
06-03 09:21:55.312: E/AndroidRuntime(9038):     at java.io.ObjectInputStream.readNewArray(ObjectInputStream.java:1512)
06-03 09:21:55.312: E/AndroidRuntime(9038):     at java.io.ObjectInputStream.readNonPrimitiveContent(ObjectInputStream.java:785)
06-03 09:21:55.312: E/AndroidRuntime(9038):     at java.io.ObjectInputStream.readObject(ObjectInputStream.java:2003)
06-03 09:21:55.312: E/AndroidRuntime(9038):     at java.io.ObjectInputStream.readObject(ObjectInputStream.java:1960)
06-03 09:21:55.312: E/AndroidRuntime(9038):     at java.io.ObjectInputStream.readFieldValues(ObjectInputStream.java:1137)
06-03 09:21:55.312: E/AndroidRuntime(9038):     at java.io.ObjectInputStream.defaultReadObject(ObjectInputStream.java:455)
06-03 09:21:55.312: E/AndroidRuntime(9038):     at java.io.ObjectInputStream.readObjectForClass(ObjectInputStream.java:1369)
06-03 09:21:55.312: E/AndroidRuntime(9038):     at java.io.ObjectInputStream.readHierarchy(ObjectInputStream.java:1266)
06-03 09:21:55.312: E/AndroidRuntime(9038):     at java.io.ObjectInputStream.readNewObject(ObjectInputStream.java:1855)
06-03 09:21:55.312: E/AndroidRuntime(9038):     at java.io.ObjectInputStream.readNonPrimitiveContent(ObjectInputStream.java:787)
06-03 09:21:55.312: E/AndroidRuntime(9038):     at java.io.ObjectInputStream.readObject(ObjectInputStream.java:2003)
06-03 09:21:55.312: E/AndroidRuntime(9038):     at java.io.ObjectInputStream.readObject(ObjectInputStream.java:1960)
06-03 09:21:55.312: E/AndroidRuntime(9038):     at java.io.ObjectInputStream.readFieldValues(ObjectInputStream.java:1137)
06-03 09:21:55.312: E/AndroidRuntime(9038):     at java.io.ObjectInputStream.defaultReadObject(ObjectInputStream.java:455)
06-03 09:21:55.312: E/AndroidRuntime(9038):     at java.io.ObjectInputStream.readObjectForClass(ObjectInputStream.java:1369)
06-03 09:21:55.312: E/AndroidRuntime(9038):     at java.io.ObjectInputStream.readHierarchy(ObjectInputStream.java:1266)
06-03 09:21:55.312: E/AndroidRuntime(9038):     at java.io.ObjectInputStream.readNewObject(ObjectInputStream.java:1855)
06-03 09:21:55.312: E/AndroidRuntime(9038):     at java.io.ObjectInputStream.readNonPrimitiveContent(ObjectInputStream.java:787)
06-03 09:21:55.312: E/AndroidRuntime(9038):     at java.io.ObjectInputStream.readObject(ObjectInputStream.java

Codice (Java): [Seleziona]
public void Polling(){
                t = new Timer();
                status=false;
        t.scheduleAtFixedRate(tt=new TimerTask() {
                        @Override
                        public void run() {
                                runOnUiThread(new Runnable() {
                                        public void run() {
                                                ///////////////////////////
                                                System.gc();
                                                /////////////////////////////////////////
                                                task_download=new DownloadAsyncTask();
                                                task_download.execute();
                                                /////////////////////////
                                                //task_upload=new UploadAsyncTask();
                                                //task_upload.execute();
                                                //////////////////////
                                                System.gc();
                                                /*Geocoder gcd = new Geocoder(MainActivity.this, Locale.getDefault());
                                                List<Address> addresses = null;
                                                try {
                                                        addresses = gcd.getFromLocation(latitude, longitude, 1);
                                                } catch (IOException e) {
                                                        // TODO Auto-generated catch block
                                                        e.printStackTrace();
                                                }
                                                if(addresses.size() > 0){
                                                    System.out.println(addresses.get(0).getLocality());
                                                    Toast.makeText(getApplicationContext(), "POSIZIONE ATTUALE "+addresses.get(0).getLocality(), Toast.LENGTH_SHORT).show();
                                                }*/

                                                //////////////////////
                                                Log.i("IP ADDRESS",""+ip);
                                                if(status){
                                                        testo.setText("ONLINE\nDOWNLOAD n°"+co+"\nUPLOAD n°"+app);
                                                        tempo.setText(">"+controllo.getComando()+"<");
                                                        testo.setTextColor(Color.GREEN);
                                                }else{
                                                        testo.setText("OFFLINE");
                                                        testo.setTextColor(Color.RED);
                                                }
                                        }                              
                                });
                        }
               
        }, 1200, 1000);
        }
public class DownloadAsyncTask extends AsyncTask<Void, Void, Void>{
               
                URL url = null;
         
                public DownloadAsyncTask(){}
               
                protected Void doInBackground(Void... params){

                        try {
                                url = new URL("http://www.xxxxxxxxxxxx/ControlloRemoto/2.txt");
                        } catch (MalformedURLException e) {
                                // TODO Auto-generated catch block
                                e.printStackTrace();
                                status=false;
                        }
                        URLConnection connection = null;
                        //////
                        try {
                                connection = url.openConnection();
                                InputStream in=null;
                                in = connection.getInputStream();
                                FileOutputStream fos = null;
                        try {
                                fos = new FileOutputStream(new File("/sdcard/Comandi.txt"));//https://www.dropbox.com/s/p3laojrer30ufrs/add_icon.png
                        } catch (FileNotFoundException e) {
                                // TODO Auto-generated catch block
                                e.printStackTrace();
                                status=false;
                        }
                        Log.i("download","--one--");   
                        byte[] buf = new byte[512];
                        while (true) {
                            int len = 0;
                                len = in.read(buf);
                            if (len == -1) {
                                break;
                            }
                                fos.write(buf, 0, len);
                        }
                        Log.i("download","--two--");
                        in.close();
                        fos.flush();
                        fos.close();
                        status=true;
                        Log.i("download","--DOWNLOAD COMPLETO--");
                        co++;
                        LoadDati();
                } catch (IOException e) {
                        Log.i("download","--Errore--");
                        status=false;
                }
                       
                  return null;         
                }
               
                protected void onPreExecute(){}

                protected void onPostExecute(){}
  }
   
         public void LoadDati(){
              try{
                   //use buffering
                   InputStream file = new FileInputStream( "/sdcard/Comandi.txt" );
                   InputStream buffer = new BufferedInputStream( file );
                   ObjectInput input = new ObjectInputStream ( buffer );
                   try{
                     //deserialize the List
                     controllo = (DatiDiControllo)input.readObject();
                   }finally{
                     input.close();
                   }
                 }catch(ClassNotFoundException ex){
                         //Toast.makeText(getActivity(), "ERRORE ClassNotFoundException IN LOAD FUNCTION", Toast.LENGTH_SHORT).show();
                 }catch(IOException ex){
                        // Toast.makeText(getActivity(), "ERRORE IOException IN LOAD FUNCTION", Toast.LENGTH_SHORT).show();
                 }
           }
Se le zampe del coniglio sono così fortunate, che fine ha fatto il coniglio?

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:AsyncTask ERROR durante il download di un file
« Risposta #1 il: 03 Giugno 2013, 10:52:12 CEST »
0
a me pare più un problema di logcat....
Citazione
Caused by: java.lang.ArrayIndexOutOfBoundsException: length=202; index=-8257536
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 lorux

  • Utente junior
  • **
  • Post: 97
  • Respect: +12
    • Google+
    • lor.catalano
    • Mostra profilo
  • Dispositivo Android:
    Galaxy S2
  • Sistema operativo:
    Windows
Re:AsyncTask ERROR durante il download di un file
« Risposta #2 il: 03 Giugno 2013, 10:53:54 CEST »
0
sicuro che sia un problema di quel codice?non vedo nessun get su nessun arraylist

Offline MisterAnt

  • Utente normale
  • ***
  • Post: 272
  • Respect: +4
    • IlSikano
    • Mostra profilo
  • Dispositivo Android:
    Galaxy S4 Active,Galaxy SIII I9300, Galaxy Tab GT-P5100
  • Play Store ID:
    MisterAnt
  • Sistema operativo:
    Ubuntu 12.04/Winzoz 7/Winzoz xp
Re:AsyncTask ERROR durante il download di un file
« Risposta #3 il: 03 Giugno 2013, 11:13:04 CEST »
0
Sì...quando vado a fare il cast sulla mia funzione LoadDati() per leggere il file scaricato (ogni tot download casuali 200/1200/3500 ) avviene un crash
Codice (Java): [Seleziona]
controllo = (DatiDiControllo)input.readObject();Adesso compare un altro errore AsyncTask
Codice (XML): [Seleziona]
06-03 10:04:21.104: E/AndroidRuntime(4641): FATAL EXCEPTION: AsyncTask #3
06-03 10:04:21.104: E/AndroidRuntime(4641): java.lang.RuntimeException: An error occured while executing doInBackground()
06-03 10:04:21.104: E/AndroidRuntime(4641):     at android.os.AsyncTask$3.done(AsyncTask.java:299)
06-03 10:04:21.104: E/AndroidRuntime(4641):     at java.util.concurrent.FutureTask$Sync.innerSetException(FutureTask.java:273)
06-03 10:04:21.104: E/AndroidRuntime(4641):     at java.util.concurrent.FutureTask.setException(FutureTask.java:124)
06-03 10:04:21.104: E/AndroidRuntime(4641):     at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:307)
06-03 10:04:21.104: E/AndroidRuntime(4641):     at java.util.concurrent.FutureTask.run(FutureTask.java:137)
06-03 10:04:21.104: E/AndroidRuntime(4641):     at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1076)
06-03 10:04:21.104: E/AndroidRuntime(4641):     at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:569)
06-03 10:04:21.104: E/AndroidRuntime(4641):     at java.lang.Thread.run(Thread.java:856)
06-03 10:04:21.104: E/AndroidRuntime(4641): Caused by: java.lang.ClassCastException: com.gestione.drink.Solubile.delay_powder - class java.lang.String not compatible with class java.io.ObjectStreamClass
06-03 10:04:21.104: E/AndroidRuntime(4641):     at java.io.ObjectInputStream.readFieldValues(ObjectInputStream.java:1148)
06-03 10:04:21.104: E/AndroidRuntime(4641):     at java.io.ObjectInputStream.defaultReadObject(ObjectInputStream.java:455)
06-03 10:04:21.104: E/AndroidRuntime(4641):     at java.io.ObjectInputStream.readObjectForClass(ObjectInputStream.java:1369)
06-03 10:04:21.104: E/AndroidRuntime(4641):     at java.io.ObjectInputStream.readHierarchy(ObjectInputStream.java:1266)
06-03 10:04:21.104: E/AndroidRuntime(4641):     at java.io.ObjectInputStream.readNewObject(ObjectInputStream.java:1855)
06-03 10:04:21.104: E/AndroidRuntime(4641):     at java.io.ObjectInputStream.readNonPrimitiveContent(ObjectInputStream.java:787)
06-03 10:04:21.104: E/AndroidRuntime(4641):     at java.io.ObjectInputStream.readObject(ObjectInputStream.java:2003)
06-03 10:04:21.104: E/AndroidRuntime(4641):     at java.io.ObjectInputStream.readObject(ObjectInputStream.java:1960)
06-03 10:04:21.104: E/AndroidRuntime(4641):     at java.io.ObjectInputStream.readNewArray(ObjectInputStream.java:1512)
06-03 10:04:21.104: E/AndroidRuntime(4641):     at java.io.ObjectInputStream.readNonPrimitiveContent(ObjectInputStream.java:785)
06-03 10:04:21.104: E/AndroidRuntime(4641):     at java.io.ObjectInputStream.readObject(ObjectInputStream.java:2003)
06-03 10:04:21.104: E/AndroidRuntime(4641):     at java.io.ObjectInputStream.readObject(ObjectInputStream.java:1960)
06-03 10:04:21.104: E/AndroidRuntime(4641):     at java.io.ObjectInputStream.readFieldValues(ObjectInputStream.java:1137)
06-03 10:04:21.104: E/AndroidRuntime(4641):     at java.io.ObjectInputStream.defaultReadObject(ObjectInputStream.java:455)
06-03 10:04:21.104: E/AndroidRuntime(4641):     at java.io.ObjectInputStream.readObjectForClass(ObjectInputStream.java:1369)
06-03 10:04:21.104: E/AndroidRuntime(4641):     at java.io.ObjectInputStream.readHierarchy(ObjectInputStream.java:1266)
06-03 10:04:21.104: E/AndroidRuntime(4641):     at java.io.ObjectInputStream.readNewObject(ObjectInputStream.java:1855)
06-03 10:04:21.104: E/AndroidRuntime(4641):     at java.io.ObjectInputStream.readNonPrimitiveContent(ObjectInputStream.java:787)
06-03 10:04:21.104: E/AndroidRuntime(4641):     at java.io.ObjectInputStream.readObject(ObjectInputStream.java:2003)
06-03 10:04:21.104: E/AndroidRuntime(4641):     at java.io.ObjectInputStream.readObject(ObjectInputStream.java:1960)
06-03 10:04:21.104: E/AndroidRuntime(4641):     at java.io.ObjectInputStream.readNewArray(ObjectInputStream.java:1512)
06-03 10:04:21.104: E/AndroidRuntime(4641):     at java.io.ObjectInputStream.readNonPrimitiveContent(ObjectInputStream.java:785)
06-03 10:04:21.104: E/AndroidRuntime(4641):     at java.io.ObjectInputStream.readObject(ObjectInputStream.java:2003)
06-03 10:04:21.104: E/AndroidRuntime(4641):     at java.io.ObjectInputStream.readObject(ObjectInputStream.java:1960)
06-03 10:04:21.104: E/AndroidRuntime(4641):     at java.io.ObjectInputStream.readFieldValues(ObjectInputStream.java:1137)
06-03 10:04:21.104: E/AndroidRuntime(4641):     at java.io.ObjectInputStream.defaultReadObject(ObjectInputStream.java:455)
06-03 10:04:21.104: E/AndroidRuntime(4641):     at java.io.ObjectInputStream.readObjectForClass(ObjectInputStream.java:1369)
06-03 10:04:21.104: E/AndroidRuntime(4641):     at java.io.ObjectInputStream.readHierarchy(ObjectInputStream.java:1266)
06-03 10:04:21.104: E/AndroidRuntime(4641):     at java.io.ObjectInputStream.readNewObject(ObjectInputStream.java:1855)
06-03 10:04:21.104: E/AndroidRuntime(4641):     at java.io.ObjectInputStream.readNonPrimitiveContent(ObjectInputStream.java:787)
06-03 10:04:21.104: E/AndroidRuntime(4641):     at java.io.ObjectInputStream.readObject(ObjectInputStream.java:2003)
06-03 10:04:21.104: E/AndroidRuntime(4641):     at java.io.ObjectInputStream.readObject(ObjectInputStream.java:1960)
06-03 10:04:21.104: E/AndroidRuntime(4641):     at java.io.ObjectInputStream.readFieldValues(ObjectInputStream.java:1137)
06-03 10:04:21.104: E/AndroidRuntime(4641):     at java.io.ObjectInputStream.defaultReadObject(ObjectInputStream.java:455)
06-03 10:04:21.104: E/AndroidRuntime(4641):     at java.io.ObjectInputStream.readObjectForClass(ObjectInputStream.java:1369)
06-03 10:04:21.104: E/AndroidRuntime(4641):     at java.io.ObjectInputStream.readHierarchy(ObjectInputStream.java:1266)
06-03 10:04:21.104: E/AndroidRuntime(4641):     at java.io.ObjectInputStream.readNewObject(ObjectInputStream.java:1855)
06-03 10:04:21.104: E/AndroidRuntime(4641):     at java.io.ObjectInputStream.readNonPrimitiveContent(ObjectInputStream.java:787)
06-03 10:04:21.104: E/AndroidRuntime(4641):     at java.io.ObjectInputStream.readObject(ObjectInputStream.java:2003)
06-03 10:04:21.104: E/AndroidRuntime(4641):     at java.io.ObjectInputStream.readObject(ObjectInputStream.java:1960)
06-03 10:04:21.104: E/AndroidRuntime(4641):     at java.io.ObjectInputStream.readFieldValues(ObjectInputStream.java:1137)
06-03 10:04:21.104: E/AndroidRuntime(4641):     at java.io.ObjectInputStream.defaultReadObject(ObjectInputStream.java:455)
06-03 10:04:21.104: E/AndroidRuntime(4641):     at java.io.ObjectInputStream.readObjectForClass(ObjectInputStream.java:1369)
06-03 10:04:21.104: E/AndroidRuntime(4641):     at java.io.ObjectInputStream.readHierarchy
Se le zampe del coniglio sono così fortunate, che fine ha fatto il coniglio?

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:AsyncTask ERROR durante il download di un file
« Risposta #4 il: 03 Giugno 2013, 12:14:31 CEST »
+1
beh ma è chiaro il problema, il logcat te lo dice chiaramente:
Citazione
06-03 10:04:21.104: E/AndroidRuntime(4641): Caused by: java.lang.ClassCastException: com.gestione.drink.Solubile.delay_powder - class java.lang.String not compatible with class java.io.ObjectStreamClass

Prima di fare un cast va fatta una verifica (safecast)
Is there a form of &quot;type safe&quot; casting in Java? - Stack Overflow
per debug, scrivi nel log (o su un file a parte) la stringa in caso di oggetto non castabile, cosi magari trovi il problema.
Poi ripulisci un po il codice, hai dei try-catch annidati, vuoti, senza catch....
In caso di catch scrivi sempre un Log.e con lo stacktrace, senno non ci verrai mai fuori
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 MisterAnt

  • Utente normale
  • ***
  • Post: 272
  • Respect: +4
    • IlSikano
    • Mostra profilo
  • Dispositivo Android:
    Galaxy S4 Active,Galaxy SIII I9300, Galaxy Tab GT-P5100
  • Play Store ID:
    MisterAnt
  • Sistema operativo:
    Ubuntu 12.04/Winzoz 7/Winzoz xp
Re:AsyncTask ERROR durante il download di un file
« Risposta #5 il: 03 Giugno 2013, 12:21:17 CEST »
0
Grazie :)
Ma scusa perchè tutte le altre volte l'oggetto me lo casta in modo corretto senza problemi e/o eccezioni?
Che sia un problema dovuto alla lettura del file subito dopo il download?
Se le zampe del coniglio sono così fortunate, che fine ha fatto il coniglio?

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:AsyncTask ERROR durante il download di un file
« Risposta #6 il: 03 Giugno 2013, 13:36:03 CEST »
0
Grazie :)
Ma scusa perchè tutte le altre volte l'oggetto me lo casta in modo corretto senza problemi e/o eccezioni?
Che sia un problema dovuto alla lettura del file subito dopo il download?
può essere che il file non viene scritto correttamente, che venga troncato, che salti qualcosa, questo non te lo so dire, di sicuro quella chiamata al garbage collector non è un bene...

Inoltre ti consiglio di guardarti le librerie "Volley" e "OkHttp", aiutano a fare il download automatico e ti danno direttamente la stringa, evitandoti inputstream, byte[] ecc ecc...

PS: Ma c'è un motivo per cui scrivi i dati su file invece che tenerteli nel byte[] e usare direttamente quello?
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 MisterAnt

  • Utente normale
  • ***
  • Post: 272
  • Respect: +4
    • IlSikano
    • Mostra profilo
  • Dispositivo Android:
    Galaxy S4 Active,Galaxy SIII I9300, Galaxy Tab GT-P5100
  • Play Store ID:
    MisterAnt
  • Sistema operativo:
    Ubuntu 12.04/Winzoz 7/Winzoz xp
Re:AsyncTask ERROR durante il download di un file
« Risposta #7 il: 03 Giugno 2013, 14:40:13 CEST »
0
Grazie adesso provo la lib okHttp..cmq perchè dici che la chiamata al garbage collector è un male?
Io la uso spesso in programmazione java quando devo usare impustream etc...
Se le zampe del coniglio sono così fortunate, che fine ha fatto il coniglio?

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:AsyncTask ERROR durante il download di un file
« Risposta #8 il: 03 Giugno 2013, 14:43:18 CEST »
0
Grazie adesso provo la lib okHttp..cmq perchè dici che la chiamata al garbage collector è un male?
Io la uso spesso in programmazione java quando devo usare impustream etc...
perchè android ha il suo sistema di GC e non c'è bisogno di richiamarlo manualmente. Poi in caso di ambiente multithreading (come nel tuo caso che usi AsyncTask) non mi da mai certezza che non incasini tutto la chiamata al GC (su android)
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 MisterAnt

  • Utente normale
  • ***
  • Post: 272
  • Respect: +4
    • IlSikano
    • Mostra profilo
  • Dispositivo Android:
    Galaxy S4 Active,Galaxy SIII I9300, Galaxy Tab GT-P5100
  • Play Store ID:
    MisterAnt
  • Sistema operativo:
    Ubuntu 12.04/Winzoz 7/Winzoz xp
Re:AsyncTask ERROR durante il download di un file
« Risposta #9 il: 03 Giugno 2013, 14:45:44 CEST »
0
Grazie questa non la sapevo :)
Infatti io lo uso spesso in ambiente Java e avevo iniziato ad usarla in Android...

Post unito: 03 Giugno 2013, 15:31:28 CEST
cmq a me serve salvare un Object quindi da byte[] a Object e non String...
« Ultima modifica: 03 Giugno 2013, 15:31:28 CEST da MisterAnt, Reason: Merged DoublePost »
Se le zampe del coniglio sono così fortunate, che fine ha fatto il coniglio?