0

私はAndroid開発者のWebサイトのチュートリアルを理解しようとしています:http://developer.android.com/reference/android/app/Service.html

チュートリアルの「リモートメッセンジャーサービスのサンプル」セクションで、このビットコードがどこで使用されているかをほとんど理解しています...

private ServiceConnection mConnection = new ServiceConnection() {
    public void onServiceConnected(ComponentName className,
        IBinder service) {
    ...

    Toast.makeText(Binding.this, R.string.remote_service_connected,
            Toast.LENGTH_SHORT).show();
}

...どこでBinding.this定義されていますか?それはタイプミスですか?チュートリアルには他にもいくつかの場所がありますが、それがBinding.this何でBindingあるか、またはどのように初期化されるかについての説明はありません。

Binding.thisここでそのように使用されます...

void doBindService() {
    // Establish a connection with the service.  We use an explicit
    // class name because there is no reason to be able to let other
    // applications replace our component.
    bindService(new Intent(Binding.this, 
        MessengerService.class), mConnection, Context.BIND_AUTO_CREATE);
    mIsBound = true;
    mCallbackText.setText("Binding.");
}

どんな助けでもありがたいです!

4

1 に答える 1

1

それはただ外側を含むクラスです。この場合、その使用法から派生していることがわかりますContextService名前を付けることで、にバインドしているのはクラスであり、おそらくはであると推測できますActivity

于 2013-02-25T05:45:52.453 に答える