POSTing JSON/XML using android-async-http (loopj)

android, android-async-http, loopj, post, rest

Solution

Loopj POST examples - extended from their Twitter example:

private static AsyncHttpClient client = new AsyncHttpClient();

To post normally via `RequestParams`:

RequestParams params = new RequestParams();
params.put("notes", "Test api support"); 
client.post(restApiUrl, params, responseHandler);

To post JSON:

JSONObject jsonParams = new JSONObject();
jsonParams.put("notes", "Test api support");
StringEntity entity = new StringEntity(jsonParams.toString());
client.post(context, restApiUrl, entity, "application/json",
    responseHandler);

Problem

I am using android-async-http and really liking it. I've run into a problem with POSTing data. I have to post data to the API in the following format: - ``` <request> <notes>Test api support</notes> <hours>3</hours> <project_id type="integer">3</project_id> <task_id type="integer">14</task_id> <spent_at type="date">Tue, 17 Oct 2006</spent_at> </request> ``` As per the documentation, I tried doing it using `RequestParams`, but it is failing. Is this any other way to do it? I can POST equivalent JSON too. Any ideas?

Original source