Question

Je le code suivant:

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

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

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

réponse est comme:. "IVBORw0KGgoAAAANSUhEUgAAAZAAAAGQCA ..." une image base64 ayant environ 400,000 caractères

La réponse est très rapide du service Web. Quand il essaie d'analyser avec Gson après un certain temps (comme 20-30 secondes) j'obtenir une erreur de mémoire. Comment puis-je analyser cette chaîne simple sans Gson, il devrait être assez simple, mais je ne sais pas comment le faire. Conseillez-moi, s'il-vous-plaît. Nous vous remercions de votre temps

Était-ce utile?

La solution

modifier le codage d'image base64 dans une URL où vous pouvez télécharger l'image directement.

Alors allez obtenir flexjson 2.1 et vous pouvez analyser JSON sur Android très facilement en quelques lignes. Il est également plus rapide que GSON.

http://flexjson.sourceforge.net

Mais à partir de votre poste, il semble que vous êtes juste d'envoyer l'image base64 sur JSON comme une seule chaîne. Pas besoin d'utiliser JSON dans ce cas. À moins que vous prévoyez d'emballer des métadonnées autour de lui dans l'avenir.

sauter également stocker l'image dans la base de données. Il suffit d'écrire au système de fichiers, et de mettre le chemin du fichier dans la base de données lié à votre objet. Beaucoup plus facile à déboguer quand vous vous demandez quelle est l'image que vous avez téléchargé, etc.

Autres conseils

  

réponse est comme:. "IVBORw0KGgoAAAANSUhEUgAAAZAAAAGQCA ..." une image base64 ayant environ 400,000 caractères

Vous avez got plaisantez.

  

S'il vous plaît me conseiller.

Trouver un service Web sensible et basculer vers elle. Si quelqu'un à votre entreprise a écrit le service Web, leur mettre le feu. Si a écrit le service Web, vous feu. Je ne vois pas besoin d'être retourner une image - en particulier celle qui massif -. Dans le codage base64, enveloppé dans JSON

En attendant, vous pouvez essayer analyseur intégré dans Android JSON plutôt que Gson.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top