From http://www.emoticode.net/android-sdk/android-template-for-an-asynctask-task-to-run-in-a-background-thread.html