Updated for changes in the server message return syntax and Android networking behavior (all network operations have been moved to AsyncTask since Android now doesn't like network tasks in the main thread).