반응형
Context의 정의
Interface to global information about an application environment.
This is an abstract class whose implementation is provided by the Android system.
It allows access to application-specific resources and classes, as well as up-calls for application-level operations
such as launching activities, broadcasting and receiving intents, etc.
- Application 환경에 대한 전역 정보를 접근하기 위한 인터페이스.
- 추상 클래스이며 실제 구현은 Android 시스템에 의해 제공된다.
- Context를 통해 어플리케이션에 특화된 리소스나 클래스에 접근할 수 있다.
- Activity 실행, Intent 브로드캐스팅 그리고 Intent 수신 등과 같은 응용 프로그램 수준의 작업을 수행하기 위한 API를 호출 할 수 있다.
어플리케이션에 관하여 시스템이 관리하고 있는 정보에 접근
- Context 인터페이스가 제공하는 API 중 getPackageName(), getResource() 등의 메서드
안드로이드 시스템에서 제공하는 API 를 호출할 수 있는 기능
- startActivity(), bindService() 와 같음 메서드
Context 역할
Context는 어플리케이션과 관련된 정보에 접근하고자 하거나 어플리케이션과 연관된 시스템 레벨의 함수를 호출하고자 할 때 사용된다.
그런데 안드로이드 시스템에서 어플리케이션 정보를 관리하고 있는 것은 시스템이 아닌, AcitivityManagerService 라는 일종의 또 다른 어플리케이션이다.
따라서 다른 일반적인 플랫폼과는 달리, 안드로이드에서는 어플리케이션과 관련된 정보에 접근하고자 할 때는 AcitivityManagerService를 통해야만 한다.
당연히 정보를 얻고자 하는 어플리케이션이 어떤 어플리케이션인지에 관한 키 값도 필요하다.
즉, 안드로이드 플랫폼 관점에서 Context는 다음과 같은 두 가지 역할을 수행하기 때문에 꼭 필요하다.
- 자신이 어떤 어플리케이션을 나타내고 있는지 알려주는 ID 역할
- ActivityManagerService에 접근할 수 있도록 하는 통로 역할
출처: https://shnoble.tistory.com/57 [노블의 개발이야기]
반응형
'Android > Android 일반' 카테고리의 다른 글
In App Purchase (0) | 2019.03.13 |
---|---|
Thread, Looper, Handler (0) | 2019.03.11 |
View가 그려지는 과정 (0) | 2019.03.10 |
그림자 나인패치 생성사이트 (0) | 2019.03.05 |
[Kotlin] 소스코드로 TextView 색상 바꾸기 (0) | 2019.02.28 |