Android -Serviceについて(2) onResumeメソッド-
こんにちは。新しい方のあらいではなく、荒れてる方のあらいです。
今日は、超ピンポイントな説明です。
昨日は、日本語でServiceの動きを説明しました。
今日は、少しコードを紹介しながら、Activityでサービスを動かすところの説明です。
目次
- 全体の流れ
- bindServiceについて
全体の流れ
public void onResume() { startService(new Intent(this,WalkMeterService.class)); registerReceiver(mWalkMeterReceiver, new IntentFilter(WalkMeterService.ACTION)); bindService(new Intent(this, WalkMeterService.class), mServiceConnection, Context.BIND_AUTO_CREATE); super.onResume(); }
(こちらのコードは
リックテレコム Androidプログラミング上達支援サイト
炎のAndroid開発道場、WalkMeter2のコードの一部です)
1.startService でサービスを開始
2.registerReceiverでfilterによる、Intentの識別 + Intentを受け取るBroadCastReceiverの指定。
3.bindServiceで、サービスに接続
bindServiceについて
他のメソッドに比べて解釈に時間がかかったメソッド。
public abstract boolean bindService (Intent service, ServiceConnection conn, int flags)
Intent service
接続するService
ServiceConnection conn
Receives information as the service is started and stopped. This must be a valid ServiceConnection object; it must not be null.
http://developer.android.com/reference/android/content/Context.html#bindService(android.content.Intent, android.content.ServiceConnection, int)
Serviceに繋がったか切れたかを知らせる。(くらいの解釈でいきましょう!・・・w)
onServiceConnected メソッドと、 onServiceDisconnected しかないみたいです。
ServiceConnection | Android Developers
int flags
bindServiceメソッドのオプション
BIND_AUTO_CREATE, BIND_DEBUG_UNBIND, BIND_NOT_FOREGROUND, BIND_ABOVE_CLIENT, BIND_ALLOW_OOM_MANAGEMENT, or BIND_WAIVE_PRIORITY
色々あるみたいですよ
もう23時か。1日早い!
おやすみなさい。ありがとうございました!