サービス
- 単純なサービス
ここではまずはサービスの導入として、非常に単純な(というか何もしない)サービスを作って、基本的なサービスの開始方法、停止方法および問題点をみていきます。 - 繰り返し処理を行うとき
前の記事では長時間かかる処理は別スレッドで実行する必要があると言いました。 ここでは、繰り返し処理を行う状況で Timer を利用する方法を紹介します。 - IntentService - 非同期、自動終了、キュー・・・便利なサービスの実装
IntentService を利用するとサービスの実装が非常に簡単になります。たいていの場合 IntentService の利用を検討するとよいでしょう。 どのような点が便利なのか、ここで説明し、具体的な実装法方を説明します。
- アラームサービスを用いたスケジューリング
特定の時間に処理をバックエンドで行うようなときは、アラームサービスによってサービスの処理をスケジュールするのがよいです。 - ブロードキャストレシーバの実装によるアクティビティとサービスの通信
サービスはバックエンドで処理を行います。例えばサービスで処理が完了したタイミングで画面にメッセージを表示したい場合等、サービスとアクティビティとのやりとりを行いたいときは、どうしたらよいでしょうか。 ここではブロードキャストレシーバでそれを実現する方法を紹介します。
- システムブート時のサービス実行のスケジュール方法
ここでは、システムの起動時にサービスのスケジューリングを行う方法を示します。 - IBind によるアクティビティとサービスの接続
アクティビティとサービスがより密な通信を行う方法を紹介します。 - AIDL によるインターフェイスの定義とサービスプロセスの IPC
サービスを外部プロセスで実行する場合は、直接参照がとれないので IPC による通信を行う必要があります。 ここでは AIDL によってインターフェイスを定義して、サービスプロセスにバインドする例をしめします。