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); } }
<< 前へ |