프로그래밍/안드로이드
안드로이드 Context란?
JayKimD
2019. 8. 19. 01:22
https://developer.android.com/reference/android/content/Context
안드로이드에서 Context는 무엇일까 일단 공식 문서는 바로 위에 서술해 두었다.
액티비티는 android.app.Activity 클래스를 상속받는다. 액티비티를 통해 안드로이드 생명주기를 이용할 수 있다.
Context는 추상 클래스이다. ( android.content.Context )
안드로이드 개발을 위해선 사진 촬영, 디바이스 주소 같이 백그라운드 서비스를 돌리기 위해선 자바와 안드로이드OS간의 연결고리가 필요한데 이 역할이 Context가 맡게되는 것이다.
Context 얻기
View.getContext() :
현재 뷰가 가지고 있는 context를 반환하는데, 일반적으로는 Activity에서 View를 띄우기 때문에 Activity의 Context가 된다.
Activity.getApplicationContext() :
애플리케이션 전체의 컨텍스트를 반환합니다. 현재 액티비티뿐만 아니라 애플리케이션의 수명주기와 관련된 컨텍스트가 필요한 경우 Activity Context대신 이 값을 사용하면 됩니다.
ContextWrapper.getBaseContext() :
다른 컨텍스트로부터 어떤 컨텍스트에 접근해야하는경우에 ContextWrapper를 씁니다. ContextWrapper 내부에서 참조 된 Context는 getBaseContext ()를 통해 액세스됩니다.