2014-04-10 5 views
0

뒤에 나는 컨텍스트를 얻기 위해 안드로이드 다양한 옵션의 차이를 설명 많은 자습서를 읽고 그러나 나는 혼란에 여전히입니다. getContext(), getActivity() 및 getBaseContext() 대신 getApplicationContext()를 사용하면 문제가 있습니까? 내 전체 응용 프로그램에서?논리 안드로이드 컨텍스트

많은 사람들이이 질문을 중복으로 표시했습니다. 하지만 여전히 나는 만족스런 대답을 누군가에게서 얻지 못했습니다. 대답은 예 또는 아니오이고, 그렇다면 적절한 이유입니다.

다시 한 번 내 질문을보십시오.

getContext(), getActivity() 및 getBaseContext() 등 대신 getApplicationContex()를 사용하면 ... 내 전체 응용 프로그램에서? 예. 그렇다면 왜요?

+0

http://stackoverflow.com/q/6854265/3330969 – Kedarnath

답변

0

Context 안드로이드 라이브러리의 주요 기본 클래스입니다. 모든 수업이 그것을 확장합니다. Java 라이브러리의 Object 클래스와 같습니다.

는 상황을

  • getApplicationContext()을 받고 여러 가지 방법이 있습니다 : 그것은 응용 프로그램의 컨텍스트를 가리 킵니다.
  • getContext() : 현재 실행중인 구성 요소를 가리 킵니다.
  • getBaseContext() : ContextWrapper의 메소드입니다. 그리고 ContextWrapper는 "모든 Context를 다른 Context에 위임하는 Context 구현을 프록 싱하고 원래 Context를 변경하지 않고 동작을 수정하기 위해 서브 클래스화할 수 있습니다." (javadocs에 따라).
  • this : 현재 활동/BroardcastReceiver 또는 서비스의 컨텍스트를 가리 킵니다.
  • getActivity() : 현재 실행중인 작업의 컨텍스트를 가리 킵니다.
+0

나는 getApplicationContext()이 반환됩니다와는 getContext()이 등 등 돌려 보낼 생각이있어 ..... 그러나 나는 알고 싶어 내 전체 응용 프로그램에서 getApplicationContext()를 사용하면 어떤 문제가 있습니까 ?? –

+0

getApplicationContext()는 항상 전체 응용 프로그램의 컨텍스트를 갖는 응용 프로그램의 컨텍스트를 반환합니다. 따라서 상황을 파악하는 적절한 방법입니다. 다른 경우에는'NullPointerException'을받을 수도 있습니다 – Kedarnath

+0

getApplicationContext()를 사용하여 응용 프로그램에서 컨텍스트를 올바르게 가져올 수 있습니다. 그렇다면 Context를 얻기위한 다른 방법의 사용은 무엇입니까? 이런 종류의 질문을하는 것은 유감 스럽지만 내가 할 수있는 일은 안드로이드 세계에 새로운 것입니다. –

0

대부분의 경우 사용자가받는 컨텍스트는 애플리케이션이 아닌 액티비티입니다. Here은 컨텍스트에 대한 좋은 설명입니다.
내가 생각하기에 UI와 관련이 필요한 경우 Activity 컨텍스트를 사용합니다.

관련 문제