あらいまんと申します。

人生に焦るひよっこエンジニアの日記

Android -Serviceについて(2) onResumeメソッド-

こんにちは。新しい方のあらいではなく、荒れてる方のあらいです。



今日は、超ピンポイントな説明です。



昨日は、日本語でServiceの動きを説明しました。
今日は、少しコードを紹介しながら、Activityでサービスを動かすところの説明です。



目次





全体の流れ



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日早い!
おやすみなさい。ありがとうございました!