본문 바로가기
프로그래밍/Android

컨텍스트(Context)

by JLearn 2023. 4. 11.

안드로이드 컨텍스트(Context)는 어플리케이션의 상태 정보와 리소스에 대한 접근을 제공하는 클래스입니다.

컨텍스트는 현재 실행중인 어플리케이션의 정보를 제공하며 파일 시스템 위치, 리소스 위치, 데이터베이스, 프리퍼런스, 시스템 서비스 등 다양한 정보를 포함합니다.

 

컨텍스트는 다음과 같은 기능을 수행합니다.

1. 리소스 매니저를 사용하여 애플리케이션의 리소스(레이아웃, 문자열, 이미지 등)에 접근할 수 있습니다.


2. 컴포넌트(액티비티, 서비스, 브로드캐스트 리시버 등) 는 컨텍스트를 상속받아 생성되어집니다.

 

3. SQLite 데이터베이스와 Shared Preferences에 접근할 수 있습니다.

 

4. 시스템 서비스(알람 매니저, 위치 서비스, 네트워크 상태 등)에 접근할 수 있습니다.

 

위와 같이 컨텍스트를 통하여 어플리케이션의 리소스, 데이터베이스, 시스템 서비스 등의 접근과 액티비티, 서비스, 브로드캐스트 리시버 등의 컴포넌트를 생성하고 관리할 수 있습니다.

 

getApplicationContext()

getApplicationContext()는 어플리케이션의 전역 컨텍스트를 반환합니다. 이 컨텍스트는 어플리케이션의 생명주기와 함께 존재하며, 어플리케이션이 실행되는 동안에만 유지됩니다. 액티비티 라이프사이클과 관계없이 유지됩니다.

어플리케이션 전역에서 리소스에 대한 접근이 가능하므로 어플리케이션 전역에서 사용하는 설정값을 저장하거나, 어플리케이션 전역에서 사용하는 테마 또는 스타일 등을 가져올 때 getApplicationContext()를 사용할 수 있습니다.

 

getContext()

getContext()는 안드로이드에서 View 클래스를 상속받은 클래스에서 뷰가 속한 컨텍스트(Context) 객체를 반환합니다.

액티비티 컴포넌트인 경우 getContext()는 해당 뷰가 속한 액티비티의 컨텍스트를 반환합니다. getContext()를 통한 리소스 매니저를 사용하여 리소스에 접근할 수 있으며, 액티비티 전환, 다이얼로그등을 생성할 수 있습니다.

'프로그래밍 > Android' 카테고리의 다른 글

Gradle 빌드 스크립트  (0) 2023.04.14
Density-independent pixels  (0) 2023.04.13
AndroidManifest.xml  (0) 2023.04.10
가상 디바이스(Virtual Device) 생성  (0) 2023.04.10
안드로이드 스튜디오 설정(Settings)  (0) 2023.04.10

댓글