Autore Topic: Asynctask che funziona a singhiozzi  (Letto 784 volte)

Offline pibraccus

  • Nuovo arrivato
  • *
  • Post: 20
  • Respect: 0
    • Mostra profilo
  • Dispositivo Android:
    Galaxy Note
  • Sistema operativo:
    Windows
Asynctask che funziona a singhiozzi
« il: 30 Ottobre 2012, 17:15:20 CET »
0
Ciao a tutti! Scrivo perché ho un problema alquanto strano. Sto sviluppando un'applicazione che prevede una gridview con delle immagini. Queste immagini le "scarico" attraverso un asynctask. Quando testo l'applicazione con il mio smartphone se uso la connessione dello smartphone stesso, nessun problema e funziona a meraviglia, mentre se uso una connessione wireless al momento dell'individuazione del json object:
Codice (Java): [Seleziona]
@Override
        protected Void doInBackground(Void... params) {

                try {

                        JSONObject obj = getJSONObject(url);
                        JSONArray jsonArray = obj.getJSONArray("immagini");
                        for (int i = 0; i < jsonArray.length(); i++) {
                                JSONObject jsonObject = jsonArray.getJSONObject(i);
                                GalleriaClasse t = new GalleriaClasse();
                                t.setImmagine(jsonObject.getString("Immagine"));
                                t.setID(jsonObject.getString("ID"));

                                publishProgress(t);
                        }
                } catch (IOException ignored) {
                } catch (JSONException ignored) {
                }
                return null;
        }



se ne va in IOException e non mi fa vedere nessuna gridview. Secondo voi cosa può essere? Mi sto davverso scervellando ma non riesco a venirne a capo.

PS Ho testato l'app in altri dispositivi e non funziona neanche, sembra funzionare solo con la connessione del mio smartphone.

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:Asynctask che funziona a singhiozzi
« Risposta #1 il: 30 Ottobre 2012, 18:09:31 CET »
0
Prova a postare il LogCat completo dell'eccezione, così proviamo a vedere se ci viene in mente qualcosa.
NON rispondo a domande nei messaggi privati
Bradipao @ Play Store

Offline pibraccus

  • Nuovo arrivato
  • *
  • Post: 20
  • Respect: 0
    • Mostra profilo
  • Dispositivo Android:
    Galaxy Note
  • Sistema operativo:
    Windows
Re:Asynctask che funziona a singhiozzi
« Risposta #2 il: 30 Ottobre 2012, 18:28:59 CET »
0
Purtroppo non se ne va in errore quindi il logcat non mostra nulla, semplicemente ho seguito l'esecuzione dell'app con il debug. Quando uso la mia connessione il codice che ho postato su viene eseguito per intero, mentre nel caso in cui uso la connessione wireless dalla prima istruzione
Codice (Java): [Seleziona]
JSONObject obj = getJSONObject(url);
passa subito a

Codice (Java): [Seleziona]
catch (IOException ignored) sebbene tutte le istruzioni in mezzo siano marcate con dei breakpoint. In pratica ignora tutto il blocco di istruzioni e mi appare una schermata bianca senza gridview, cosa che non accade con la connessione dello smartphone.

Offline pibraccus

  • Nuovo arrivato
  • *
  • Post: 20
  • Respect: 0
    • Mostra profilo
  • Dispositivo Android:
    Galaxy Note
  • Sistema operativo:
    Windows
Re:Asynctask che funziona a singhiozzi
« Risposta #3 il: 30 Ottobre 2012, 18:30:02 CET »
0
Prova a postare il LogCat completo dell'eccezione, così proviamo a vedere se ci viene in mente qualcosa.

Uhm ho letto meglio, scusa, adesso provo a vedere se sul logcat spunta qualcosa (non avevo ancora provato a vedere)...

Offline pibraccus

  • Nuovo arrivato
  • *
  • Post: 20
  • Respect: 0
    • Mostra profilo
  • Dispositivo Android:
    Galaxy Note
  • Sistema operativo:
    Windows
Re:Asynctask che funziona a singhiozzi
« Risposta #4 il: 30 Ottobre 2012, 18:39:40 CET »
0
Niente da fare nel logcat non c'è traccia dell'eccezione, a questo punto vuol dire che per qualche motivo a me assolutamente misterioso ignora il blocco di codice quando mi collego con il wireless, roba da uscire matti!

Offline Sakazaki

  • Utente normale
  • ***
  • Post: 396
  • Respect: +74
    • Mostra profilo
  • Dispositivo Android:
    Sony xperia Z
  • Play Store ID:
    Saka Labs
  • Sistema operativo:
    Windows 8
R: Asynctask che funziona a singhiozzi
« Risposta #5 il: 30 Ottobre 2012, 18:46:36 CET »
+1
Invece di fare il catch a vuoto (pessima abitudine), fatti stampare nel log l'eccezione ed eventualmente metti dei breakpoints li dentro. Con una rete in mezzo possono andare storte un sacco di cose, ma se ignori l'eccezione non lo saprai mai.

Inviato dal mio XT910 con Tapatalk 2


Offline pibraccus

  • Nuovo arrivato
  • *
  • Post: 20
  • Respect: 0
    • Mostra profilo
  • Dispositivo Android:
    Galaxy Note
  • Sistema operativo:
    Windows
Re:R: Asynctask che funziona a singhiozzi
« Risposta #6 il: 30 Ottobre 2012, 19:40:27 CET »
0
Invece di fare il catch a vuoto (pessima abitudine), fatti stampare nel log l'eccezione ed eventualmente metti dei breakpoints li dentro. Con una rete in mezzo possono andare storte un sacco di cose, ma se ignori l'eccezione non lo saprai mai.

Inviato dal mio XT910 con Tapatalk 2

Grazie per il tuo consiglio! Fatto come dici tu e sono riuscito ad individuare l'errore: java.io.FileNotFoundException.  Per qualche ragione con la mia connessione vodafone l'app riusciva a "parsare" un url contenente spazi, mentre col wireless no. Mi è bastato fare un replace dell'url da " " a "%20" e tutto è stato risolto, grazie nuovamente per l'aiuto!