1. ホーム
  2. android

[解決済み] Androidの「コンテキスト」とは何ですか?

2022-03-17 08:58:20

質問

Androidのプログラミングでは、具体的にどのような Context クラスとその用途について教えてください。

で読みました。 開発者向けサイト しかし、よく理解できない。

どのように解決するのですか?

簡単に言うと

その名の通り、アプリケーション/オブジェクトの現在の状態を表すコンテキストです。新しく作成されたオブジェクトに、これまで何が起こっていたかを理解させるものです。一般的には、プログラムの別の部分(アクティビティやパッケージ/アプリケーション)に関する情報を取得するために呼び出します。

コンテキストを取得するには getApplicationContext() , getContext() , getBaseContext() または this (を継承するクラスの場合)。 Context アプリケーション、アクティビティ、サービス、IntentService クラスなど)。

コンテキストの代表的な使用例。

  • 新規オブジェクトの作成 : 新しいビュー、アダプタ、リスナーを作成する。

     TextView tv = new TextView(getContext());
     ListAdapter adapter = new SimpleCursorAdapter(getApplicationContext(), ...);
    
    
  • 標準的な共通リソースへのアクセス : LAYOUT_INFLATER_SERVICE、SharedPreferencesのようなサービス。

     context.getSystemService(LAYOUT_INFLATER_SERVICE)
     getApplicationContext().getSharedPreferences(*name*, *mode*);
    
    
  • 暗黙のうちにコンポーネントにアクセスする : コンテンツプロバイダー、放送、意図について

     getApplicationContext().getContentResolver().query(uri, ...);