AndroidではUIスレッド上でGUI部品(ウィジェット)にアクセスするのが前提になっているため、他のスレッドでGUIにアクセスするとチェックが入り例外が発生する。 android.view.ViewRoot$CalledFromWrongThreadException: Only the original thread that created a view hierarchy can touch its views. これを回避するためにはいろいろな方法があるが、一つはAsyncTaskの派生具象クラスを使ってスレッドでの処理とUIスレッドでのGUI処理を明確に分離することだ。 final AsyncTask at = new AsyncTask() { @Override protected Bitmap doInBackground(String... params) { ret