public void onServiceConnected(ComponentName className, IBinder service)サービスと接続した時の処理を記述します。引数には、ComponentNameとIBinderが渡されます。IBinderは、Binderのインターフェイスで、このIBinderを経由してサービスを取得することができます。
public void onReceive(Context context, Intent intent)引数には、ContextとIntentが渡されます。Intentは、先にサービスからsendBroadcastでブロードキャストをした際に送られたIntentです。このIntentでは、putExtraを使って値を組み込んでありましたね。それをこのonReceiveでは取り出しています。
int counter = intent.getIntExtra("counter", 0);この「getIntExtra」は、int値を取り出すためのメソッドです。同様に、各種の値を取り出すためのメソッドがIntentには一通り備わっています。それらを利用することで、インテント経由で値をやり取りできるのですね。※リストが表示されない場合
AddBlockなどの広告ブロックツールがONになっているとリストなどが表示されない場合があります。これらのツールをOFFにしてみてください。
// ServiceConnectionクラス
class MyServiceConnection implements ServiceConnection {
private MySampleService myservice;
@Override
public void onServiceConnected(ComponentName className, IBinder service) {
myservice = ((MySampleService.MySampleBinder)service).getService();
}
@Override
public void onServiceDisconnected(ComponentName className) {
myservice = null;
}
}
// Receiverクラス
class MyServiceReceiver extends BroadcastReceiver {
@Override
public void onReceive(Context context, Intent intent) {
int counter = intent.getIntExtra("counter", 0);
((MySample)context).textview01.setText("count: " + counter);
}
}
| << 前へ |