2013-10-27 3 views
1

나는 앱의 컨텍스트가 무엇인지, 무엇이 제공되는지 정확하게 이해하지 못한다.앱 컨텍스트 란 무엇입니까?

Android API에 주어진 설명은 다음과 같습니다..

"응용 프로그램 환경에 대한 글로벌 정보에 대한 인터페이스는이 구현이 안드로이드 시스템에 의해 제공되는 추상 클래스는 응용 프로그램 별 리소스에 액세스 할 수 있습니다 수업 시작은 물론 발사 활동, 방송 및 수신 의도 등과 같은 애플리케이션 수준 작업의 전화를받습니다. "

  1. 전체 정보는 무엇인가요?
  2. 응용 프로그램 환경이란 무엇입니까?
  3. 시작 활동과 같은 앱 수준 작업에 대한 전화 건은 무엇을 의미합니까?

답변

0

응용 프로그램은 모든 활동과 함께 사는 수업입니다. 지하실 (또는 다락방)이라고 생각하십시오. 그것은 매니 페스트에 포함 된 다른 것들 (활동, 서비스 등)보다 먼저 생성되며 앱이 안드로이드에 의해 GCed되어지면 마지막으로 정리됩니다.

그래서 다양한 액티비티가 액세스해야하는 영구 변수와 데이터 멤버를 저장할 수 있습니다.

응용 프로그램 (MyApp.java)을 확장하고 매니페스트 (android:name=".MyApp")의 응용 프로그램 노드에서이를 참조하는 새 클래스를 만듭니다.
그런 다음 응용 프로그램 컨텍스트와 함께 활동 또는 서비스 컨텍스트를 혼동하지 있는지 확인

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

같은 모든 활동의에서 onCreate에 대한 참조를 얻을 수 있습니다. 그들은 자주 교환 할 수 있지만 조심하지 않으면 UI 스레드와 관련된 예외를 발생시킬 수 있습니다.

+0

이 클래스 Context에 대해 이야기하고 있습니까? http://developer.android.com/reference/android/content/Context.html – user2882662

+0

네, 모든 이들이 파생되었지만 요점은 당신이 활동에있을 때 '이'는 활동 컨텍스트를 참조하는 반면 'getApplicationContext()'는 응용 프로그램의 컨텍스트를 참조합니다. –

관련 문제