How to update Activities asynchronously AndroidのActivityは別スレッドでの更新処理が禁止されています。 たとえば1秒ごとにActivityに現在時刻を表示するためにThread#runでループするような処理をするとエラーになります。 AsyncTaskクラスのonPreExecuteメソッドやonPostExecuteメソッドで1秒ごとにActivityの更新をするようなループはエラーにはなりませんがActivityが更新されないし、操作を受け付けなくなります。 Activityを非同期で更新するのにはHandlerクラスを使います。 HandlerクラスのActivityを更新するためのメソッドのうち、sendEmptyMessageとpostを使ってみます。 sendEmptyMessageメソッドとpostメソッドの違いは引数だけ
![[Android] Activityに時計を表示する(Activityの非同期更新)](https://cdn-ak-scissors.b.st-hatena.com/image/square/c19f3d5f1e6bf66e16560ea1633c49239f33991a/height=288;version=1;width=512/https%3A%2F%2Fblogger.googleusercontent.com%2Fimg%2Fb%2FR29vZ2xl%2FAVvXsEiyWjLR3l33YG-_9_f3pVFcA84q1K1UaCJgek7AKr8xAJYZAhTYewKHs9CiBlOkDYavOiVAWoUZHgf3dHYk6spHNGaGp8BmVhmoeZ7hjN09-zQaxUc2M9_oKFWLNrU640PI60KvhSL1gUc%2Fw1200-h630-p-k-no-nu%2FHandlerpostSample.png)