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 NetworkOnMainThreadException ?
new Thread(new Runnable() {
@Override
public void run() {
heavyAndTimeConsumingOperation();
}
}).run();
perhaps i’m not spawning a new thread this way?
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.