});国内初Android端末発売、Marketも日本語サポート開始いよいよ今月か来月に、NTTドコモからAndroidケータイが発売されます(参考:ドコモ、HTC製Android端末を6〜7月発売へ)。Marketでも日本語のサポートを開始しました。これで国内のユーザー向けにAndroidアプリを発信する準備が整いました。残念ながら有料アプリの配信はまだですが、いずれ準備が整うはずですので、楽しみにして待ちましょう。kwout何かと便利なAndroidの“サービス”って何?さて、今回はAndroidのバッググラウンドでアプリを動作させたい場合などに使用する“サービス”について説明します。通常、AndroidのActivityはフォアグラウンドでなければ動作しません。連載第2回「Androidアプリ作成の基本“Activity”とは何か?」で、以下のように紹介しました。kwout実は、Toastクラスは内部的に“サービス”を利用していて、呼び出し元のActivityが表示されていなくても、このような動作を実現していたのです。サービスのライフサイクルActivityと同様に、サービスにもライフサイクルがあります。Activityのように複雑ではありませんが、Activityと同様に、要所要所でコールバックメソッドが呼び出されます。図1はサービスの状態遷移図です。Serviceの状態遷移サービスは、Activityのように一時停止などがないため、ループはしません。起動すると、ずっと実行中となるため、ライフサイクルの動作は簡単です。呼び出されるコールバックメソッドは、以下のとおりです。コールバックメソッド説明onCreateサービスが起動したタイミングで呼び出される。同じサービスを複数回起動しても、すでにサービスが存在するため、このメソッドは呼び出されないonStartサービスが開始されたタイミングで呼び出される。コールバックメソッドサービスの実行中は、サービスからクライアントに対しては、自由にIntentをブロードキャストして、クライアント側で動作を行わせることができます。クライアントからサービスに対しては、「バインド」という仕組みを使用しなければ、サービス側の処理を動作させることができません。クライアントがサービスにバインドすると、サービス側では、以下のコールバックメソッドが呼び出されます。コールバックメソッド説明onBindサービスが起動したタイミングで呼び出される。同じサービスを複数回起動しても、すでにサービスが存在するため、このメソッドは呼び出されないonRebindサービスが開始されたタイミングで呼び出される。バインドした際のコールバックメソッド次ページからは、キッチンタイマーのサンプルアプリケーションを紹介し、どのように“サービス”を使っているのかを解説していきます。メールマガジンをご購読ください。申し込みページへITmediaはアイティメディア株式会社の登録商標です。