Here it might be easier to use an AsyncTask, this would allow you to take advantage of the ThreadPool executor automatically used by Android to manage AsyncTask and make for the possibility to use Loaders later on to avoid restarting a task on rotation. This is also quite a well known Android component so would be easy for people to understand the demo I guess.