Context에 대한 이해

  • Context를 이해하는 걸 다들 어려워 한다. 질문글에 답을 달다가 갑자기 정리가 깔끔하게 되서....

    하나의 application이 실행되기 위해서는 그 밑바탕에 깔려져야 하는 많은 정보들과 환경들이 필요하다. 
    그 정보들과 환경들을 안드로이드 시스템이 제공해 준다.
    application 실행을 위해 밑바탕에 깔려져 있는 정보들과 환경들을 Context라 한다.
    따라서 이 Context에는 안드로이 시스템이 제공해주는 유용한 많은 정보들이 있다.
    따라서 이 Context를 통해서 안드로이드 시스템이 제공해주는 많은 유용한 정보들을 
    꺼집어 낼수 있다(getSystemService() 메소드로).

    근데 Context를 필요로하는 곳에 Activity 객체인 this를 념길수 있는 이유는  
    Activity가  Context를 상속 받았기 때문에 Activity는 Context의 모든 정보를 가지고 있는 것이이다. 
    그래서 Context를 필요로 하는 곳에서 Activity의 객체를 넘길수 있는 것이다.

    Context를 얻을 수 있는 몇 가지 방법
    -. Activity 객체를 통해서. Activity 객체 자체가 Context이기도 하기 때문에 Context를   
       필요로하는 곳에 Activity 객체인 this를 사용하면 된다.
    -. View의 객체가 있으면 View의 getContext()를 통해서. View의 객체가 없는 상황이면 
       View v = new View(activity.this);로 만들면된다. 이때 View를 전역적으로 선언하면
       된다.
    -. Context 클래스의 getApplicationContext()를 통해서
    이정도면 Context를 못 구할 일이 별로 없을 것이다.



+ Recent posts