こんにちは。最近は雨ばかりで洗濯物を外に干せず辛いAndroid初心者です。
まずは前回の演習問題の回答を見ていきたいと思います。
演習問題26の回答:エ.androidプロジェクトの削除
演習問題27の回答:ウ. -t
「-p」はパッケージを、「-s」は疑似ランダムイベントの元になるSeed値を、「-p」はテストするパッケージ名をそれぞれ指定するオプションです。
さて前回お伝えした通り、今回からあまり内容を掘り下げていなかった部分について触れていきたいと思います。
今回のテーマは「サービス」です。「サービス」はバックグラウンドで動作するプログラムのことで、それ自体は特に何ともないのですが、使用する方法が2つあることが若干ややこしいです。
1つ目はActivityクラスのメソッドを利用する方法です。ライフサイクルの流れも「OnCreate()⇒OnStartCommand()(Android1.6以前はOnStart())⇒OnDestroy()」と分かりやすいです。
2つ目はバインド機能を利用する方法です。バインド機能はアクティビティとサービスのプロセス間通信を可能にするもので、ライフサイクルにも絡んで流れは「OnCreate()⇒OnBind()⇒OnUnBind()⇒OnDestroy()」となります。さらにUnBind(切断)後に再接続する「OnRebind()」メソッドもあり、Activityクラスのメソッドを使用する方法に比べ若干複雑になります。
さて、今回も演習問題をやっていきます。(上の文章の復習になりますので、一応見ずにやってみてください。)
演習問題28:サービスのライフサイクル
図28のA~Dに当てはまる語句の組み合わせで正しいものを選択してください。
図28:サービスのライフサイクル
- ア.A:OnStart() B:OnStartCommand() C:OnStopCommand() D:OnRestart()
- イ.A:OnStartCommand() B:OnStart() C:OnStop() D:OnRestart()
- ウ.A:OnStartCommand() B:OnBind() C:OnUnbind() D:OnRebind()
- エ.A:OnStartCommand() B:OnBind() C:OnStop() D:OnRebind()
(答えは次回に掲載します。)
次回も掘り下げていないテーマについて触れていきたいと思います。