Je le code suivant:Parse simple chaîne JSon dans Android
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 codée base64 ayant environ 400,000 caractères.
La réponse vient très rapidement du service Web. Quand il essaie de l'analyser avec Gson après un certain temps (comme 20-30 secondes), je reçois une erreur avec mémoire insuffisante. Comment puis-je analyser cette chaîne simple sans Gson, il devrait être assez simple, mais je ne sais pas comment le faire. S'il vous plaît me conseiller. Merci pour votre temps
Je ne le consomme que, je ne l'ai pas écrit. Comment recommanderiez-vous de procéder dans ce cas? Télécharger l'image directement? Changer quelque chose dans le service Web? – Alin
Et sur une deuxième note, il n'y a pas besoin d'être si difficile. Nous apprenons et expérimentons. Il est facile de dire que c'est faux, mais plus difficile de faire les choses correctement ... Je dois apporter une image 400x400px d'un site Web via un moyen sécurisé et le stocker sur une table sqlite et l'afficher sur une imageview. Le service Web peut être changé de requis. – Alin
@alin: Le JSON Base64 + n'ajoute aucune valeur et prend du temps CPU des deux côtés, ce qui est particulièrement précieux sur un téléphone. Il augmente également votre bande passante, les utilisateurs sur les plans de données mesurés se soucient d'un peu juste. Téléchargez l'image d'origine à partir d'une URL normale et stockez-la dans une colonne BLOB dans SQLite. – CommonsWare