I'm using Android loopj library to have asynchronous HTTP client. I need to set the responseBody
to the image object's property like following but because of asynchronous, the return statement will be run instead and the image object is always null.
public Image uploadImage(boolean async) {
Image image = new Image();
HttpClient.post(getFinalUrl(async), makeRequestParams(), new AsyncHttpResponseHandler
() {
@Override
public void onSuccess(int statusCode, Header[] headers, byte[] responseBody) {
UploadResponse[] uploadResponses = GsonParser.getArrayFromGson(responseBody,
UploadResponse[].class);
UploadResponse response = uploadResponses[0];
String st = response.getContent();
image.setImageAddress(st);
}
@Override
public void onFailure(int statusCode, Header[] headers, byte[] responseBody, Throwable error) {
Log.d("injaro", error.getMessage());
}
});
}