На диво приємна бібліотека для Android HTTP доступна за посиланням нижче:
http://loopj.com/android-async-http/
Прості запити дуже прості:
AsyncHttpClient client = new AsyncHttpClient();
client.get("http://www.google.com", new AsyncHttpResponseHandler() {
@Override
public void onSuccess(String response) {
System.out.println(response);
}
});
Щоб надіслати JSON (кредит на `voidberg 'за посиланням https://github.com/loopj/android-async-http/isissue/125 ):
// params is a JSONObject
StringEntity se = null;
try {
se = new StringEntity(params.toString());
} catch (UnsupportedEncodingException e) {
// handle exceptions properly!
}
se.setContentType(new BasicHeader(HTTP.CONTENT_TYPE, "application/json"));
client.post(null, "www.example.com/objects", se, "application/json", responseHandler);
Це все асинхронно, добре працює з Android і безпечно дзвонити з потоку інтерфейсу користувача. RespoHandler запуститься на тому самому потоці, з якого ви його створили (як правило, ваш потік інтерфейсу). У нього навіть є вбудований resonseHandler для JSON, але я вважаю за краще використовувати Google gson.