I need to do some HTTP requests from my android app. I use AsyncTask as needed, with the network part in doInBackground.
Here is my request class :
publi
You have this
response = request.execute().get(3, TimeUnit.SECONDS);
Calling get()
makes AsyncTask
no more Asynchronous. It blocks the ui thread waiting for the response. This leads to NetworkOnMainThreadException
.
Get rid of get(3, TimeUnit.SECONDS);
Just use request.execute()
. You can update ui in onPostExecute
. You can also use interface as a callback to the Activity.
Check the answer by blackbelt in the below link
How do I return a boolean from AsyncTask?