2

アプリのコンテキストが何であるか、それが提供するものを正確に理解していません。

Android APIでの説明は次のとおりです。

「アプリケーション環境に関するグローバル情報へのインターフェース。これは、Android システムによって実装が提供される抽象クラスです。アプリケーション固有のリソースとクラスへのアクセス、およびアクティビティの起動などのアプリケーションレベルの操作のアップコールを可能にします。 、インテントのブロードキャストと受信など」

  1. グローバル情報とは
  2. アプリケーション環境とは何を意味しますか?
  3. ローンチ アクティビティなどのアプリ レベルの操作を呼び出すとは、どういう意味ですか?
4

1 に答える 1

1

アプリケーションは、すべてのアクティビティと一緒に存在するクラスです。地下室 (または屋根裏部屋) と考えてください。これは、マニフェストに含まれる他のもの (アクティビティ、サービスなど) の前に作成され、アプリが Android によって GC されている場合は最後にクリーンアップされます。

したがって、さまざまなアクティビティがアクセスする必要がある永続変数とデータ メンバーを格納するために使用できます。

これを使用するには、アプリケーション (MyApp.java) を拡張する新しいクラスを作成し、マニフェスト ( android:name=".MyApp") のアプリケーション ノードで参照します。
次に、次のような任意のアクティビティの onCreate で参照を取得できます

super.onCreate(b);
MyApp myApp = (MyApp)getApplicationContext();

アクティビティまたはサービス コンテキストとアプリケーション コンテキストを混同しないように注意してください。それらは頻繁に交換可能ですが、注意しないと、UI スレッドに関連する例外が発生することになります。

于 2013-10-27T17:56:00.237 に答える