Có một thư viện đẹp đáng ngạc nhiên cho Android HTTP có sẵn tại liên kết dưới đây:
http://loopj.com/android-async-http/
Yêu cầu đơn giản rất dễ dàng:
AsyncHttpClient client = new AsyncHttpClient();
client.get("http://www.google.com", new AsyncHttpResponseHandler() {
@Override
public void onSuccess(String response) {
System.out.println(response);
}
});
Để gửi JSON (tín dụng cho `voidberg 'tại https://github.com/loopj/android-async-http/issues/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);
Tất cả đều không đồng bộ, hoạt động tốt với Android và an toàn để gọi từ luồng UI của bạn. ResponsHandler sẽ chạy trên cùng một luồng mà bạn đã tạo từ đó (thông thường, luồng UI của bạn). Nó thậm chí còn có một resonseHandler tích hợp cho JSON, nhưng tôi thích sử dụng google gson hơn.