Thursday, August 26, 2010

Re: [android-developers] String being truncated when its long

reader = new BufferedReader(new InputStreamReader(inputStream), 8000); I'm gunna guess that 8000 has something to do with it :). I usually use the following:

reader = new BufferedReader(new InputStreamReader(inputStream, "UTF-8"));



On Thu, Aug 26, 2010 at 3:40 PM, Achanta <krishna.achanta@gmail.com> wrote:


I am trying to get a JSON response from our server and the response
string seems is always being truncated when the string length reaches
to around 5525 characters.

HttpClient httpClient = new DefaultHttpClient();
HttpPost post = new HttpPost(URL);
ResponseHandler<String> responseHandler= new BasicResponseHandler();
String testResponse = httpClient.execute(post, responseHandler);

I also tried this by using HttpEntity and reading the response stream.
But that also truncates the string at approximately that length.

           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();
                   }
               }
           }

Please let me know how I can handle this problem. I used this post as
the reference while creating this.
http://senior.ceng.metu.edu.tr/2009/praeda/2009/01/11/a-simple-restful-client-at-android/

I tested the link in my browser and it does return the complete JSON.
So I am sure the issue is with my code in android.

Thank you.

--
You received this message because you are subscribed to the Google
Groups "Android Developers" group.
To post to this group, send email to android-developers@googlegroups.com
To unsubscribe from this group, send email to
android-developers+unsubscribe@googlegroups.com
For more options, visit this group at
http://groups.google.com/group/android-developers?hl=en

--
You received this message because you are subscribed to the Google
Groups "Android Developers" group.
To post to this group, send email to android-developers@googlegroups.com
To unsubscribe from this group, send email to
android-developers+unsubscribe@googlegroups.com
For more options, visit this group at
http://groups.google.com/group/android-developers?hl=en

No comments:

Post a Comment