AndroidのContextの概要


Context文字通りの意味コンテキストはframework packageのandroidにある.content.Contextでは、呼び出し元のインスタンスを識別するにはContextを使用する必要がある方法が多くあります.たとえば、Toastの最初のパラメータがContextです.一般的にActivityでは、呼び出し元を表すインスタンスがActivityであり、buttonのonClick(View view)などの方法では、thisを使用するとエラーが報告されるため、Activity Nameを使用する可能性があります.これは、Contextを実装するクラスが主にAndroid特有のいくつかのモデル、Activity、Service、BroadcastReceiverを持っているためです.
2種類のContext
Androidではcontextは多くの操作ができますが、最も主要な機能はリソースのロードとアクセスです.androidには2つのcontextがあり、1つはアプリケーションcontextであり、1つはactivity contextであり、通常、各種類と方法の間でactivity contextが伝達されている.例えばactivityのonCreateは、次のようになります.
protected void onCreate(Bundle state) {
        super.onCreate(state);

        TextView label = new TextView(this); //  context view control
        label.setText("Leaks are bad");

        setContentView(label);
}

Activity contextをviewに渡すことは、viewがactivityを指す参照を持っていることを意味し、さらにactivityが占有するリソース:view hierachy、resourceなどを参照することを意味する.