Androidで動く携帯Javaアプリ作成入門
Androidで動く携帯Javaアプリ作成入門(7)

常駐アプリが作成できるAndroidの“サービス”とは


株式会社イーフロー
緒方聡
2009/6/18
本連載で、SDKとEclipseを使ってAndroidの携帯端末で動くJavaアプリを作成し、Android Marketでの配布を目指しましょう

国内初Android端末発売、Marketも日本語サポート開始

- PR -

 いよいよ今月か来月に、NTTドコモからAndroidケータイが発売されます(参考:ドコモ、HTC製Android端末を6〜7月発売へ)。

 それに合わせて5月28日から、Android Marketでも日本語のサポートを開始しました。これで国内のユーザー向けにAndroidアプリを発信する準備が整いました。

 残念ながら有料アプリの配信はまだですが、いずれ準備が整うはずですので、楽しみにして待ちましょう。

何かと便利なAndroidの“サービス”って何?

 さて、今回はAndroidのバッググラウンドでアプリを動作させたい場合などに使用する“サービス”について説明します。

 通常、AndroidのActivityはフォアグラウンドでなければ動作しません。連載第2回「Androidアプリ作成の基本“Activity”とは何か?」で、以下のように紹介しました。

 実は、Toastクラスは内部的に“サービス”を利用していて、呼び出し元のActivityが表示されていなくても、このような動作を実現していたのです。

サービスのライフサイクル

 Activityと同様に、サービスにもライフサイクルがあります。Activityのように複雑ではありませんが、Activityと同様に、要所要所でコールバックメソッドが呼び出されます。

Serviceの状態遷移

 図1はサービスの状態遷移図です。

図1 Serviceの状態遷移
図1 Serviceの状態遷移

 サービスは、Activityのように一時停止などがないため、ループはしません。いったん起動すると、ずっと実行中となるため、ライフサイクルの動作は簡単です。

 呼び出されるコールバックメソッドは、以下のとおりです。

表1 コールバックメソッド
コールバックメソッド 説明
onCreate サービスが起動したタイミングで呼び出される。同じサービスを複数回起動しても、すでにサービスが存在するため、このメソッドは呼び出されない
onStart サービスが開始されたタイミングで呼び出される。クライアントが複数にわたりサービスを起動した場合、このメソッドは複数回呼び出される
onDestroy サービスが終了するタイミングで呼び出される

 サービスの実行中は、サービスからクライアントに対しては、自由にIntentブロードキャストして、クライアント側で動作を行わせることができます。しかし、クライアントからサービスに対しては、「バインド」という仕組みを使用しなければ、サービス側の処理を動作させることができません。

 クライアントがサービスにバインドすると、サービス側では、以下のコールバックメソッドが呼び出されます。

表2 バインドした際のコールバックメソッド
コールバックメソッド 説明
onBind サービスが起動したタイミングで呼び出される。同じサービスを複数回起動しても、すでにサービスが存在するため、このメソッドは呼び出されない
onRebind サービスが開始されたタイミングで呼び出される。クライアントが複数にわたりサービスを起動した場合、このメソッドは複数回呼び出される
onUnbind クライアントがサービスからアンバインドして再度バインドした際に呼び出される

 次ページからは、キッチンタイマーのサンプルアプリケーションを紹介し、どのように“サービス”を使っているのかを解説していきます。

1-2-3

 Index
第7回 常駐アプリが作成できるAndroidの“サービス”とは
Page1
国内初Android端末発売、Marketも日本語サポート開始
何かと便利なAndroidの“サービス”って何?
  Page2
「キッチンタイマー」アプリでライフサイクルを確認
  Page3
コラム 「なぜ“サービス”を使用するのか?」
サービスを使用するための設定
国際化してAndroid Marketから世界へ発信!

Androidで動く携帯Javaアプリ作成入門 バックナンバー 連載インデックスへ»


ご意見、ご感想は Smart&Social 会議室へどうぞ


 Smart&Social フォーラム トップページへ


TechTargetジャパン

Smart & Social フォーラム 新着記事

@ITメールマガジン 新着情報やスタッフのコラムがメールで届きます(無料)

RSSフィード

キャリアアップ

@IT Sepcial

イベントカレンダー

PickUpイベント

- PR -
もっと見る
- PR -

お勧め求人情報

ホワイトペーパーTechTargetジャパン

@IT Sepcial
ソリューションFLASH