How to print out returned message from HttpResponse?
Use ResponseHandler
. One line of code. See here and here for sample Android projects using it.
public void postData() { // Create a new HttpClient and Post Header HttpClient httpclient = new DefaultHttpClient(); HttpPost httppost = new HttpPost("http://www.yoursite.com/user"); try { // Add your data List<NameValuePair> nameValuePairs = new ArrayList<NameValuePair>(2); nameValuePairs.add(new BasicNameValuePair("id", "12345")); nameValuePairs.add(new BasicNameValuePair("stringdata", "AndDev is Cool!")); httppost.setEntity(new UrlEncodedFormEntity(nameValuePairs)); // Execute HTTP Post Request ResponseHandler<String> responseHandler=new BasicResponseHandler(); String responseBody = httpclient.execute(httppost, responseHandler); JSONObject response=new JSONObject(responseBody); } catch (ClientProtocolException e) { // TODO Auto-generated catch block } catch (IOException e) { // TODO Auto-generated catch block }}
add combination of this post and complete HttpClient at - http://www.androidsnippets.org/snippets/36/
I would just do it the old way. It's a more bulletproof than ResponseHandler, in case you get different content types in the response.
ByteArrayOutputStream outstream = new ByteArrayOutputStream();response.getEntity().writeTo(outstream);byte [] responseBody = outstream.toByteArray();
I used the following code
BufferedReader r = new BufferedReader(new InputStreamReader(response.getEntity().getContent()));StringBuilder total = new StringBuilder();String line = null;while ((line = r.readLine()) != null) { total.append(line);}r.close();return total.toString();