Make a call synchronously with loopj Android Asynchronous Http Client

android, loopj

Solution

You should have used `SyncHttpClient` instead of `AsyncHttpClient`. `setUseSynchronousMode` doesn't have the desired effect for `AsyncHttpClient`.

Problem

I'm trying to use setUseSynchronousMode on loopj to wait for results of http call before continuing in one case. I tried: ``` AsyncHttpResponseHandler responseHandler = new AsyncHttpResponseHandler() { @Override public void onSuccess(int statusCode, Header[] headers, byte[] response) { Log.d("TEST", "Got results"); } }; AsyncHttpClient client = new AsyncHttpClient(); responseHandler.setUseSynchronousMode(true); client.get("http://www.google.com", responseHandler); Log.d("TEST", "Don't want to get here until after getting results"); ``` But the result is: ``` 07-11 19:48:05.631 D/TEST﹕ Don't want to get here until after getting results 07-11 19:48:05.814 D/TEST﹕ Got results ``` Am I misunderstanding what setUseSynchronousMode should do?

Original source