chobo2 chobo2 - 7 months ago 46
Java Question

How to print out returned message from HttpResponse?

I have this code on my Android phone.

URI uri = new URI(url);
HttpPost post = new HttpPost(uri);
HttpClient client = new DefaultHttpClient();
HttpResponse response = client.execute(post);


I have a asp.net webform application that has in the page load this

Response.Output.Write("It worked");


I want to grab this Response from the HttpReponse and print it out. How do I do this?

I tried
response.getEntity().toString()
but it just seems to print out the address in memory.

Thanks

Answer

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/

Comments