Autore Topic: BufferedReader tronca pagina web  (Letto 893 volte)

Offline cecce88

  • Nuovo arrivato
  • *
  • Post: 5
  • Respect: 0
    • Mostra profilo
  • Dispositivo Android:
    Samsung GAlaxy Note
BufferedReader tronca pagina web
« il: 20 Luglio 2012, 23:06:09 CEST »
0
Salve ragazzi,

ho un problema molto probabilmente con il BufferedReader.  :-X
Vi spiego:
attraverso il BufferedReader voglio scaricare una risposta in formato JSON fornita da un URL.
Ho scritto il seguente codice all'interno di un Asyntask

Codice (Java): [Seleziona]
StringBuilder sb = new StringBuilder();
                try
                {
                               
                        HttpURLConnection conn = (HttpURLConnection) new URL(params[0]).openConnection();
                InputStream in = conn.getInputStream();
                        BufferedReader r = new BufferedReader(
                                new InputStreamReader(new DoneHandlerInputStream(in)));
                        for (String line = r.readLine(); line != null; line = r.readLine())
                        {
                                sb.append(line);
                        }
                       
                       
                }catch(Exception e){}
                String pars="";
                strJson=sb.toString();
                System.out.println(strJson);
                System.out.println(strJson.length());

purtroppo la stringa finale(strjson) contiene solo una parte del contenuto e come ultimi caratteri trovo i tre puntini di sospesione (...).
Ho anche provato a rimuovere il limite del buffer (di 8KB circa) impostandolo ad un numero più elevato, ma niente!!
Ho provato sia con emulatore sia con mio dispositivo.
Non so veramente che fare!
API Level 14

Grazie in anticipo

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:BufferedReader tronca pagina web
« Risposta #1 il: 21 Luglio 2012, 08:42:36 CEST »
0
Hai provato con un'altra sorgente di dati? Per escludere come causa l'URL a cui stai facendo la connessione.
NON rispondo a domande nei messaggi privati
Bradipao @ Play Store

Offline cecce88

  • Nuovo arrivato
  • *
  • Post: 5
  • Respect: 0
    • Mostra profilo
  • Dispositivo Android:
    Samsung GAlaxy Note
Re:BufferedReader tronca pagina web
« Risposta #2 il: 21 Luglio 2012, 08:51:47 CEST »
0
Si ho provato anche quello. Ho provato altre pagine ma sempre troncato è il.contenuto!

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:BufferedReader tronca pagina web
« Risposta #3 il: 21 Luglio 2012, 09:39:26 CEST »
0
In tutta sincerità l'unica cosa del codice che non mi piace è quel ciclo for.

Perchè non scriverlo più convenzionale?  :-)

Codice (Java): [Seleziona]
while ( (line = r.readLine()) != null ) sb.append(line);
NON rispondo a domande nei messaggi privati
Bradipao @ Play Store

Offline Ricky`

  • Amministratore
  • Utente storico
  • *****
  • Post: 3489
  • Respect: +506
    • Github
    • Google+
    • rciovati
    • Mostra profilo
Re:BufferedReader tronca pagina web
« Risposta #4 il: 21 Luglio 2012, 09:41:35 CEST »
0
Non so veramente che fare!

Non mi convince molto l'uso della classe DoneHandlerInputStream. Perchè lo usi? Hai provato a tirarlo via?

In tutta sincerità l'unica cosa del codice che non mi piace è quel ciclo for.

Perchè non scriverlo più convenzionale?  :-)

Codice (Java): [Seleziona]
while ( (line = r.readLine()) != null ) sb.append(line);

+1 :P

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:BufferedReader tronca pagina web
« Risposta #5 il: 25 Luglio 2012, 13:58:11 CEST »
0
[offtopic]
Non sono rarissimi thread come questi che inizialmente presentano una scambio rapidissimo di post, poi dopo una (o più) risposte si perdono nel deserto del tempo. Mi rimane sempre il dubbio: avrà risolto il problema, oppure ha rinunciato per sempre alla programmazione? è tornato a leggere il forum, oppure ha vinto al superenalotto e adesso è spiaggiato ai caraibi a sorseggiare una bibita?  8-)
[/offtopic]
NON rispondo a domande nei messaggi privati
Bradipao @ Play Store

Offline denper

  • Utente normale
  • ***
  • Post: 290
  • Respect: +60
    • Mostra profilo
    • Anddenper
  • Dispositivo Android:
    Moto G
  • Play Store ID:
    denper
  • Sistema operativo:
    Window 7, Windows XP
Re:BufferedReader tronca pagina web
« Risposta #6 il: 25 Luglio 2012, 14:11:32 CEST »
0
Off-Topic:
La terza opzione la escludo, il post è del 20 Luglio mentre l'ultima vincita al Superenalotto è delle scorso 24 maggio  :money_mouth:!!!
Tutti sanno che una cosa è impossibile da realizzare, finché arriva uno sprovveduto che non lo sa e la inventa. [A.Einstein]

Proteggi la tua privacy! Utilizza GhostPhone! https://play.google.com/store/apps/details?id=com.denper.gp
Giochi a Winforlife e Superenalotto e sei stanco di controllare le tue schedine manualmente? Prova Checkwin: https://play.google.com/store/apps/details?id=com.denper.checkwintrial

Offline cecce88

  • Nuovo arrivato
  • *
  • Post: 5
  • Respect: 0
    • Mostra profilo
  • Dispositivo Android:
    Samsung GAlaxy Note
Re:BufferedReader tronca pagina web
« Risposta #7 il: 25 Luglio 2012, 14:27:15 CEST »
0
:P ironici!  :money_mouth:  :money_mouth:  :money_mouth:
Comunque grazie a tutti per le info!
Purtroppo è stato un errore mio poichè il BufferedReader conteneva tutto ciò che doveva contenere (solamente che la variabile nel Debug non conteneva tutto il contenuto in quanto erano migliaia e migliaia di caratteri).
L'eccezione veniva lanciata dalla istruzione successiva quando utilizzavo la classe JSONArray passandogli come parametro una stringa che conteneva un oggetto JSON!
Vi ringrazio comunque per le risposte che mi avete dato!
A presto!

Offline cecce88

  • Nuovo arrivato
  • *
  • Post: 5
  • Respect: 0
    • Mostra profilo
  • Dispositivo Android:
    Samsung GAlaxy Note
Re:BufferedReader tronca pagina web
« Risposta #8 il: 25 Luglio 2012, 14:29:23 CEST »
0
a titolo di informazione, ho lasciato il ciclo come lo avevo impostato io senza cambiarlo in quanto non era il ciclo FOR il problema

Offline denper

  • Utente normale
  • ***
  • Post: 290
  • Respect: +60
    • Mostra profilo
    • Anddenper
  • Dispositivo Android:
    Moto G
  • Play Store ID:
    denper
  • Sistema operativo:
    Window 7, Windows XP
Re:BufferedReader tronca pagina web
« Risposta #9 il: 25 Luglio 2012, 14:34:15 CEST »
0
Ovviamente scherzavamo  :-). Bene che hai risolto! Segna il topic come risolto.
Tutti sanno che una cosa è impossibile da realizzare, finché arriva uno sprovveduto che non lo sa e la inventa. [A.Einstein]

Proteggi la tua privacy! Utilizza GhostPhone! https://play.google.com/store/apps/details?id=com.denper.gp
Giochi a Winforlife e Superenalotto e sei stanco di controllare le tue schedine manualmente? Prova Checkwin: https://play.google.com/store/apps/details?id=com.denper.checkwintrial

Offline cecce88

  • Nuovo arrivato
  • *
  • Post: 5
  • Respect: 0
    • Mostra profilo
  • Dispositivo Android:
    Samsung GAlaxy Note
Re:BufferedReader tronca pagina web
« Risposta #10 il: 25 Luglio 2012, 14:35:37 CEST »
0
Tranquillo...me la spasserò anche per te con la vincita milionaria del superenalotto ehehe  :-P

Grazie Raga

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:BufferedReader tronca pagina web
« Risposta #11 il: 25 Luglio 2012, 14:49:09 CEST »
0
Tranquillo...me la spasserò anche per te con la vincita milionaria del superenalotto ehehe  :-P

Eheh ottimo per la soluzione e altrettanto per la vincita milionaria.  ;-)

A parte gli scherzi, fa veramente comodo avere notizie sulla soluzione finale, così futuri visitatori sanno che il problema non è rimasto irrisolto ed hanno almeno una possibilità di trovare la soluzione al proprio.  :-P
NON rispondo a domande nei messaggi privati
Bradipao @ Play Store