Avoiding Networkonmainthreadexception
I've understood that a network operation is not allowed on the GUI thread. Ok for me. But why using this code on a Dialog button click callback still produce NetworkOnMainThreadExc
Solution 1:
You need to call .start(), not .run().
.run() is the method you override that actually executes.
.start() is a system-provided method that actually starts a thread.
Solution 2:
SLaks is right, but for Android there is a more delicate way: AsyncTask.
new AsyncTask<Void, Void, Void>(){
@OverrideprotectedVoid doInBackground(Void... params){
//Do heavy stuff
}
@Overrideprotected void onPostExecute(Void result){
//Do UI stuff after heavy stuff
}
}.execute();
Post a Comment for "Avoiding Networkonmainthreadexception"