5-1バックグラウンド処理とサービスTips343 Handlerを用いてバックグラウンド処理を実行する
対応Ver:全て
Level2
Answerリモートメッセージを扱うHandlerを ローカルのバックグラウンド処理に利用する
Handlerは他のアプリやアクティビティから、メッセージを受け取るためのクラスですが、簡単にバックグラウンド処理を実行する機能があるため、特にメッセージに関係なくバックグラウンド処理を行うためによく使われます。
Handlerを扱う際に注意すべきことは、「sendMessage」というメソッドの意味です。
「sendMessage」というと、Handlerオブジェクト(ハンドラー)が他のどこかに「メッセージを送る」という感じがするので、混乱します。
しかし、Handlerはメッセージを「受け取る」専用のクラスです。
そのため、「sendMessage」とは、ハンドラー「に」メッセージを送ることです。具体的には、「ハンドラーが扱うメッセージ・キューにメッセージを加える」ことを意味します。
Tips344では「ハンドラーにメッセージを送るMessenger」というクラスが出てきますが、この大原則は変わりません。
このことを念頭に、リスト1に示すメンバー変数mHandlerの定義を見てください。この定義は、特定のメソッドの
この記事は会員限定です。会員登録をすると続きをお読みいただけます。
ログイン / 新規登録