String wird abgeschnitten, wenn es zu lang ist
Ich versuche, eine JSON-Antwort von unserem Server zu erhalten, und die Antwortzeichenfolge wird anscheinend immer abgeschnitten, wenn die Zeichenfolgenlänge etwa 5525 Zeichen erreicht.
HttpClient httpClient = new DefaultHttpClient();
HttpPost post = new HttpPost(URL);
ResponseHandler<String> responseHandler= new BasicResponseHandler();
String testResponse = httpClient.execute(post, responseHandler);
Ich habe dies auch versucht, indem ich HttpEntity verwendet und den Antwortdatenstrom gelesen habe. Das schneidet aber auch die Zeichenkette bei ungefähr dieser Länge ab.
HttpClient httpClient = new DefaultHttpClient();
HttpPost post = new HttpPost(URL);
// HttpGet get = new HttpGet(URL);
HttpResponse response = null;
HttpEntity entity = null;
InputStream inputStream = null;
BufferedReader reader = null;
String result = "";
try {
response = (HttpResponse)httpClient.execute(post);
entity = response.getEntity();
if(entity != null){
inputStream = entity.getContent();
}
reader = new BufferedReader(new InputStreamReader(inputStream), 8000);
StringBuffer builder = new StringBuffer("");
String line = reader.readLine();
while(line != null){
Log.v(tag, "int max::::::::: "+Integer.MAX_VALUE);
Log.v(tag, "LINE::::::::: "+line+reader.toString());
Log.v(tag, "reader::::::::: "+reader.toString());
builder.append(line+"\n");
line = reader.readLine();
}
inputStream.close();
result = builder.toString();
} catch (ClientProtocolException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
} finally{
if(inputStream != null){
try{
inputStream.close();
}catch(IOException e){
e.printStackTrace();
}
}
}
Bitte teilen Sie mir mit, wie ich mit diesem Problem umgehen kann. Ich habe diesen Beitrag als Referenz beim Erstellen verwendet.http: //senior.ceng.metu.edu.tr/2009/praeda/2009/01/11/a-simple-restful-client-at-android
Vielen Dank