Je fais une requête HTTP get à un site web pour une application Android que je suis en train de réaliser.
J'utilise un DefaultHttpClient et j'utilise HttpGet pour émettre la requête. Je reçois la réponse de l'entité et à partir de celle-ci, j'obtiens un objet InputStream pour obtenir le html de la page.
Je parcours ensuite la réponse en procédant comme suit :
BufferedReader r = new BufferedReader(new InputStreamReader(inputStream));
String x = "";
x = r.readLine();
String total = "";
while(x!= null){
total += x;
x = r.readLine();
}
Cependant, c'est horriblement lent.
Est-ce inefficace ? Je ne charge pas une grosse page web - www.cokezone.co.uk pour que la taille du fichier ne soit pas trop importante. Existe-t-il une meilleure façon de procéder ?
Merci
Andy
0 votes
À moins que vous n'analysiez réellement les lignes, la lecture ligne par ligne n'a pas beaucoup de sens. Je préfère lire char par char via des tampons de taille fixe : gist.github.com/fkirc/a231c817d582e114e791b77bb33e30e9