В андройд-приложении нельзя в UI-потоке (аналог main loop в QT) общаться с сетью, т.е. делать блокирующие вызовы.
Там есть класс AsyncTask, от которого надо наследоваться, делать свой метод со своей блокирующей работой и пинать его из основного потока.
И в этом классе AsyncTask есть метод, который вызывается после того, как работа будет выполнена, причём вызывается в UI-потоке.
Как это там внутри реализовано? Т.е., как AsyncTask дотягивается руками до UI-потока? Какая связь между ними?