-
[ Android ] Application ClassAndroid/Java 2020. 7. 12. 15:36
책에 있는 코드를 공부하던 중 Application class를 상속받은 class를 작성한 것을 보아서 Application class에 대해 공부해보았다. 틀린 내용이 있으면 댓글로 알려주시면 감사하겠습니다!
Application Class란?
Application의 상태를 유지하기 위한 기본 클래스입니다. 즉, Application class는 어느 컴포넌트(Activity, Service, intent 등)에서나 공유할 수 있는 전역 class를 의미합니다. Application을 상속받은 class는 공동으로 관리해야 하는 데이터를 작성하기에 적합합니다.
Application class는 다른 subclass보다 먼저 인스턴스화 됩니다.
일반적으로 subclass Application을 필요로 하지 않습니다. 대부분의 경우, static Singleton이 모듈적인 방법으로 동일한 기능을 제공할 수 있습니다. 만약 Singleton 클래스가 전역 context( ex. broadcast receiver 등록 )를 필요로 할 경우, context를 Context.getApplicationContext()로 하여 Singleton 클래스의 getInstance() 메서드를 호출하십시오.
사용 방법
AndroidManifest.xml에 android:name="<Application class의 이름>" 을 추가한 후 사용 가능합니다.
위와 같이 호출해서 사용 가능합니다
getApplicatoin() vs getApplicationContext()
getApplication()
Activity와 Service 객체에서만 사용 가능합니다.
Application 객체를 return 합니다. 이 객체는 우리가 global application state에 접근할 수 있도록 해줍니다
getApplicationContext()
global Application Context를 반환합니다.
activity context는 activity가 종료됨에 따라 안드로이드에 의해서 destroy되는데, Application context는 Application Object가 살아있기 때문에 destroy 되지 않는다. ( 특정한 Activity에 종속되는 것이 아니므로 )
출처
'Android > Java' 카테고리의 다른 글
[ Android ] Toast / Snackbar 보여주기 (0) 2020.05.19