Boa tarde,
estou a desenvolver uma aplicação para android no qual eu busco uma string em um web service.
A string retornada depois tem de ser transformada em um JsonArray.
O problema é que, ao armazenar o retorno em um BufferedInputStream, ocorre uma exception de “unterminated string near”.
Acontece que, minha string tem mais de 300 mil caracteres mas por default um BufferedInputStream só armazena 8kb de dados, ou seja, minha string termina na posição 8192.
Vi que há um construtor no qual é possível passar um int dizendo qual o tamanho do buffer. Alterei para 524288 (512kb) mas continua terminando na posição 8192. Alguém poderia me dizer o que está errado? Ou ainda uma alternativa ao BufferedInputStream?
Abaixo segue meu código.
Desde já agradeço
public String getResultado() {
try {
String baseUrl = "http://10.0.2.2:8084/WebServices/resources/cliente/listaClientes";
URL url = new URL(baseUrl);
URLConnection conn = url.openConnection();
InputStream is = conn.getInputStream();
BufferedInputStream bis = new BufferedInputStream(is, 524288);
//JSONObject jsonObj = new JSONObject();
//jsonObj.get("cliente");
while(bis.available() > 0){
conteudo.append((char) bis.read());
}
return conteudo.toString();
}catch(IOException e){
Log.e("Erroo",e.getMessage());
return null;
} catch (Exception e) {
e.printStackTrace();
return null;
}
}
