An application I am currently developing is communicating with the server and the communication process runs in its own thread. There are asynchronous calls - for example lo
updateGUIState() needs to be run on the UI thread. A possible solution is to implement your GUI update in a Runnable, and call the runOnUiThread method with your runnable.