Because Google decided that making a simple app where certain commands get sent down a socket when a button is pressed, was to dangerous.

So now I have to use multiple threads, and figure out how to do cross-thread, thread-safe communications, which involves creating an object, handing it to a thread, doing something I can only describe as "Kooky magic", somehow return another brand new object of the same type to the Main Thread, and do more magic, and then you can send Messages across the gap.

Yep. All to do basic data transfer, to a server application.