タグ

handlerに関するsupiのブックマーク (2)

  • HandlerとMessage - 別スレッドでのGUI操作 - 愚鈍人

    ProgressDialogのサンプルプログラムをながめていたら、Handlerという見なれぬクラスが使われていた。 Handlerクラスて何だろう、と思って調べてみたらすっかりはまってしまった。 他の記事もそうなのだが、今回は特にサンプルコードをもとに推察で書いている部分が多いので、誤りがあればご容赦いただきたい。 動作確認は、きちんとしているつもりであるが。 別スレッドでのGUI操作の問題点 アンドロイドでも、通常のjavaプログラムのようにThreadクラスが使える。 しかし、アンドロイドのGUIはシングルスレッドにしか対応していないため、 ウィジェット等のGUIオブジェクトを生成したスレッドとは別のスレッドから、ウィジェットに直接アクセスする事はできない。 まず次のプログラムを実行して、別スレッドから直接ウィジェットの操作を試みてみる。 このプログラムを実行してボタンを押すと、新し

    HandlerとMessage - 別スレッドでのGUI操作 - 愚鈍人
  • throw Life - AndroidのHandlerとは何か?

    AndroidでWeb APIを使う場合、マルチスレッドによるユーザビリティ向上を以前のエントリで説明しました。 AndroidアプリのUIはシングル・スレッド モデルです。 単純にマルチスレッドにしてUIの操作をしてしまうと、CalledFromWrongThreadExceptionでアプリがダウンしてしまいます。 これを回避する仕組みがHandlerです。 Handlerの仕組みを簡単に説明しようと思ったのですが、 またもや長くなってしまったので、先にまとめます。 AndroidUI操作はシングル・スレッド モデル ユーザビリティ向上の為にはマルチスレッドが必要 Handlerで実現 Handlerを使わない場合に起きる例外は実行スレッドのチェックで発生 Handlerを使うと、UI Threadの持つキューにジョブを登録できる キューはUI Threadにより実行される

  • 1