Domanda

Ho il seguente codice:

String response = webService.webGet("");  the response of the web service

String LargeImage = new Gson().fromJson(response,String.class);

byte[] imageByteArray = Base64.decode(LargeImage);

risposta è come:. "IVBORw0KGgoAAAANSUhEUgAAAZAAAAGQCA ..." un Base64 codificato un'immagine avendo circa 400.000 caratteri

La risposta arriva molto veloce dal servizio web. Quando si tenta di analizzare con GSON dopo un po '(come 20-30 secondi) ottengo un errore con la memoria. Come posso analizzare questo semplice stringa senza GSON, dovrebbe essere abbastanza semplice, ma non so come farlo. Per favore consigliami. Grazie per il vostro tempo

È stato utile?

Soluzione

Cambia la tua immagine Base64 codifica in un URL dove è possibile scaricare l'immagine direttamente.

Poi vai a prendere flexjson 2.1 e si può analizzare JSON su Android molto facilmente in poche righe. E 'anche più veloce di GSON.

http://flexjson.sourceforge.net

Ma dal tuo post sembra che si sta solo inviando l'immagine Base64 sopra JSON come una singola stringa. Non c'è bisogno di usare JSON in quel caso. A meno che non si ha intenzione di avvolgere alcuni metadati intorno ad esso in futuro.

Anche saltare la memorizzazione dell'immagine nel DB. Basta scrivere al filesystem, e mettere il percorso del file nel DB collegato al tuo oggetto. Molto più facile per eseguire il debug quando ti chiedi quale immagine si è scaricato, ecc.

Altri suggerimenti

  

risposta è come:. "IVBORw0KGgoAAAANSUhEUgAAAZAAAAGQCA ..." un Base64 codificato un'immagine avendo circa 400.000 caratteri

Devi ottenuto di essere me scherzando.

  

Si prega di avvisare me.

Trova un servizio Web sensibile e passare ad esso. Se qualcuno alla vostra ditta ha scritto il servizio Web, li fuoco. Se si ha scritto il servizio Web, il fuoco da soli. Non vedo la necessità di essere restituendo un'immagine - in particolare uno che massiccia -. Nella codifica Base64, avvolto in JSON

Nel frattempo, si potrebbe provare la built-in Android JSON parser piuttosto che GSON.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top