use AsyncTask instead of Handler